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
Q. What is Mini computer? The term minicomputer introduced in 1960's when it was realized that numerous computing tasks don't need an expensive modern mainframe computers howev

Explain the meaning of ACCEPT socket primitive. The Accept Primitive: A server which uses connection-oriented transport should call procedure accepts to accept

Q.  Develop a Menu driven program with following menu: 1.  Gray code 2.  BCD 3.  Excess-3 code 4.  Exit I/P must be a valid Binary number. Fractional numbers are all

What is Algorithm Design Technique? An  algorithm  design  method  is  a  general  approach  to  solving  problems  algorithmically  that  is applicable to a variety of proble

Avoiding Local Minima of multi-layered networks-Artificial intelligence : The error rate of multi-layered networks over a training set could be calculated as the number of mis

What do you mean by u-area (user area) or u-block? This having the private data that is manipulated only by the Kernel. This is local to the Process, i.e. every process is a

Illustrate the term EDI Trading Patterns? EDI Trading Patterns are illustrated below: a. Hubs and Spokes: Several of the prime movers into the adoption of Electronic Da

More complicated logic circuits can be made byconnecting a number of simple logic gates.How do we decide how to connect the gates togive a particular function e.g. output Y?We need

What are the extra variables by which customers call for to work out? All customers who do not purchase Internet connectivity through a Service Provider do call for to work out

given a string S convert it to palindrome by doing character replacement.convert S to palindrome with minimum character replacements