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

Create a factory function and constructor, 1) This project will use an acco...

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

What is task identifier, Q. What is task identifier? Each and every PVM...

Q. What is task identifier? Each and every PVM task is uniquely recognized by an integer known as task identifier (TID) assigned by local pvmd. Messages are received from and s

What are the mechanisms for implementing i/o operation, What are the variou...

What are the various mechanisms for implementing I/O operations? a) Program controlled I/O b) Interrupts c) DMA

Explain yet another compiler-compiler, Explain Yet another Compiler-Compile...

Explain Yet another Compiler-Compiler. YACC uses for "Yet another Compiler-Compiler": Computer program input usually has some structure; actually, all computer programs which

What is meant by the guest function, When  transferring  one  functio...

When  transferring  one  function  to  another,  what  is  meant  by  the  guest  function? A pointer to a function can be passed to another function as an argument. This allows

Why erlang is used, Erlang is used to (A) Measure busy period         ...

Erlang is used to (A) Measure busy period                (B) Give total busy period in minutes (C)  Measure average call rate       (D) Indicate total call period Ans

Explain the working of a binary counter, In binary counter the flip flop of...

In binary counter the flip flop of lowest order position is complemented with each pulse. This means that JK input position must be maintained with logic one

Explain garbage collection, Explain Garbage collection In this method ...

Explain Garbage collection In this method two passes are made over the memory to identify new areas. In the first pass it traverses all pointers pointing to allocated areas an

What is assembler, Q. What is Assembler? An assembly program is used to...

Q. What is Assembler? An assembly program is used to transfer assembly language mnemonics to binary code for every instruction after the complete program has been written with

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