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

Total number of registers in a cpu, Q. Total number of registers in a CPU? ...

Q. Total number of registers in a CPU? Factors to consider when choosing total number of registers in a CPU are:  CPU can access registers faster than it can access m

Explain one two motion selector per subscriber, What is 1 00 line exchang...

What is 1 00 line exchange with one two-motion selector per subscriber. Design: In, Strowger switching system is designed by using one two-motion selector for all subscrib

Why some languages are not decidable, Why some languages are not decidable ...

Why some languages are not decidable or even Turing - recognizable?  The  reason  that  there  are  uncountable  many  languages  yet  only  countably many  Turing  machines.

What does "wire_read: unexpected eof" mean in gimp, This error message shou...

This error message should say something like "the plug-in (or the major GIMP app) I was talking to has existed before returning any results, so I suppose that it has crashed."

Mini project, give proper code for any kind of project in oop c++

give proper code for any kind of project in oop c++

What do you mean by resolution, Q. What do you mean by Resolution? Reso...

Q. What do you mean by Resolution? Resolution is parameter which defines possible sharpness or clarity of a video image.  Resolution is defined as number of pixels which make u

What is called when network address prefixed by 1110, Network address prefi...

Network address prefixed by 1110 is a? Network address prefixed through 1110 is a multicast address.

Qwerty-based keyboards, QWERTY-based keyboards In addition the standard...

QWERTY-based keyboards In addition the standard alphabet keys having QWERTY arrangement, a computer keyboard also comprises the control (alt, Del, Ctrl etc. keys) and function

4 bit comparator, how to breadboARD THE 4 BIT COMPARATOR

how to breadboARD THE 4 BIT COMPARATOR

Differences between flexgrid control and dbgrid control, Normal 0 ...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

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