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

Problem Context and Specification : However the development of Inductive Logic Programming has been heavily formal in mathematical in nature it means the major people in the f


List one advantage and one disadvantage of having large block size. Ans: Advantage: By using a huge block of memory is maximum process's accommodation that resulting is less no

What is sensitivity list? A list of signals which trigger execution of the block when they change value. Sensitivity list  indicates that when a change occurs to any one of

Like ULINE the statement VLINE is used to insert vertical lines. No , Vline is not used to insert vertical lines.

What is the difference among adding routes, to a webforms application and to an mvc application? Ans) To add routes to a webforms application, we use MapPageRoute() process of

Explain Register marker. Register marker: Strowger selectors doing searching and counting. Conversely, the crossbar switch has no 'intelligence'. Something external to the

This covers a number of game playing methods, notably checkers and backgammon because so much good research has been completed on these problems and because so many different metho

How can a parent and child process communicate? A parent and child can communicate by any of the normal inter-process communication schemes (pipes, sockets, message queues, sha