Multi-threaded concurrency programming with threads, Computer Engineering

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.

Posted Date: 3/16/2013 3:30:52 AM | Location : United States







Related Discussions:- Multi-threaded concurrency programming with threads, Assignment Help, Ask Question on Multi-threaded concurrency programming with threads, Get Answer, Expert's Help, Multi-threaded concurrency programming with threads Discussions

Write discussion on Multi-threaded concurrency programming with threads
Your posts are moderated
Related Questions

What is system testing? The final step in testing is system testing, which means checking the whole application. System testing exercises the overall application and make sure

Build U Like are a building company specialising in hard landscaping. They lay patios, build walls, lay drives etc. for their customers. A customer will remain in the system even t

Q. Define Interrupts and Instruction Cycle? Let's precise the interrupt process, on the event of an interrupt, an interrupt request (in form of a signal) is concerned to CPU. T

1) This project will use an account class that has the members: string account_code; string first_name; string last_name; double balance; Provide a constructor that

No C don't have circular shift operator. (Part of the reason why that is the sizes of C's types aren't precisely described----but a circular shift makes most sense when applied to

The Prisoner's Dilemma is a well-known problem in game theory. Two thieves are arrested and held in custody separately. The police offer each the same deal. Inform on your partn


Define cache memory? A special very high speed memory known as a cache is sometimes used to increase the speed of processing by making current programs and data available to th

The void type is used forĀ  The void type is used to make generic pointers.