Multi-threaded concurrency programming with threads, Computer Engineering

Assignment Help:

Your task is to implement a memory manager that manages page reads and writes from multiple client threads. In the first programming task the memory manager keeps all the pages in a memory buffer large enough to fit all the pages and the server processes a list of requests and sends them to clients to log. In the second programming task a user is allowed to specify a memory buffer size limit. The memory manager needs to place some of the pages on disk in order to cope with the buffer size limit. To do this the memory manager uses the least recently used (LRU) page replacement algorithm in order to choose which page to evict from memory when the memory is full. In the third task you extend the solution for task 1 so that requests are sent from the client to the server instead of all the requests originating in the server.

Please look at the AssignmentDiagram.ppt file in the assignment folder to gain a better understanding of the assignment requirements. Sample input and output files are also provided in the SampleFilesForTasks1to3.zip file.

Please do not use sleep anywhere inside your code. Or something that simulates a sleep system call. Eg. while (1) { }. However you are allowed to use the pause(), pthread_cond_wait() or pthread_cond_timedwait() system calls and their Java equivalents to block a thread or process.

Please submit separate source files for each of the three tasks.


Related Discussions:- Multi-threaded concurrency programming with threads

Emails, Compare and contrast POP e-mail to Web-based e-mail systems in term...

Compare and contrast POP e-mail to Web-based e-mail systems in terms of control, security, and accessibility.

Explain speedup performance and issues in pipelining, Speedup First, we...

Speedup First, we take the speedup factor which is we see how much speed up performance we achieve by pipelining. First we take ideal case for measuring the speedup. Let n b

Fact finding techniques on banking system, what are the questionnaries and ...

what are the questionnaries and observation of work site for banking system?

Example to show directory in doc, Q. Example to show directory in doc? ...

Q. Example to show directory in doc? Like a file name, the directory name may also have up to eight alpha-numeric characters. The directory name can also have an extension

For what an append query be used, For what an append query be used? It ...

For what an append query be used? It is simple to append records from one table to another using an append query. There is no requirement for the tables to have the similar num

C++, #question.constructors and destructors

#question.constructors and destructors

How to add cell padding, Q. How to Add Cell Padding? As you can see, te...

Q. How to Add Cell Padding? As you can see, text is too close to the edges of the cells. You will add padding to the cells to leave room between text and cells. 1.  Click in

Explain about magnetic tape, Explain about Magnetic tape      a) They a...

Explain about Magnetic tape      a) They are mostly used for keeping files of data  b )It is one of the cheapest and slowest methods for storage

Creating a function, I''m suppose to create a function called calc_rectang_...

I''m suppose to create a function called calc_rectang_area(height, width),that takes two parameters: the height and width of the rectangular and return the area of the rectangular.

C PROGAMM, CODING FOR...WHAT IS THE PROBABILITY THAT A CARD DRAWN FROM A PA...

CODING FOR...WHAT IS THE PROBABILITY THAT A CARD DRAWN FROM A PACK OF 52 CARDS WILL BE A DIAMOND OR A KING .

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd