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

Add the equation by using 648 and 487 in bcd code, Add 648 and 487 in BCD c...

Add 648 and 487 in BCD code. Ans. In BCD Code, addition of 648 and 487: 6 4 8  =  0 1 1 0   0 1 0 0      1 0 0 0 4 8 7  =  0 1 0 0   1 0 0 0      0 1 1 1 ---------------------

Define hypertext verses hypermedia briefly, Define Hypertext verses Hyperme...

Define Hypertext verses Hypermedia briefly. Hypertext is fundamentally the same as regular text- this can be stored, read, searched or edited along with a significant exception

What is roll area, What is roll area? A roll area having the program's...

What is roll area? A roll area having the program's runtime context.  In addition to the runtime stack and other structures, all local variables and any data known to the prog

What is the advantage of running the vuser as thread, VuGen gives the facil...

VuGen gives the facility to use multithreading. This enables more Vusers to be run pergenerator. If the Vuser is run as a process, the similar driver program is loaded into memory

Instruction set design considerations, Some of the fundamental consideratio...

Some of the fundamental considerations for instruction set design includes selection of:  A set of data-types (For example: integers, long integers, doubles, character strin

Explain the data dependency, Data Dependency It indicates to the situ...

Data Dependency It indicates to the situation in which two or more instructions share same data. The instructions in a program are able to be arranged based on relationship o

Describe about micro-controllers, Q. Describe about Micro-controllers? ...

Q. Describe about Micro-controllers? Micro-controllers: These are a specialized device controlling computer which comprises every function of computers on a single chip. Chip

Define internet infrastructure, As we know how packets travel from one comp...

As we know how packets travel from one computer to another over the Internet. However what's in-between? Actually what makes up the Internet infrastructure or backbone? Fi

Write the truth table of NOR gate, Write the truth table of NOR gate. Ans...

Write the truth table of NOR gate. Ans. The truth table for NOR gtae is shown below:

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