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

Determine in detail about the vhdl, Determine in detail about the VHDL ...

Determine in detail about the VHDL Multiple design-units (entity/architecture pairs), which reside in the same system file, may be separately compiled if so desired. Though, it

Octave project, i need help with an octave program

i need help with an octave program

Explain congestion, Explain CONGESTION. CONGESTION: This is uneconomi...

Explain CONGESTION. CONGESTION: This is uneconomic to provide sufficient equipment to carry entire traffic that could possibly be given to a telecommunication system. Inside

What is home banking, Home Banking: E-commerce is used in Home Banking ...

Home Banking: E-commerce is used in Home Banking as single call or single click. Online banking (Internet banking) is a term used for performing transactions, payments etc. ove

What is a table cluster, What is a table cluster? A table cluster join...

What is a table cluster? A table cluster joins several logical tables in the ABAP/4 Dictionary.  Various logical rows from different cluster tables are brought together in a o

Explain about the term business-to-customer, Explain about the term busines...

Explain about the term business-to-customer. B2C (business-to-customer): "Electronic commerce" is usually understood mostly as selling goods or services to people ("last

State some criterias and their effects on a database, It is possible to ent...

It is possible to enter one or more criteria in the rows which can influence your database significantly. >="Callahan" this returns all the several records from Callahan to the

Angle of elevation and depression, in building a suspension bridge a cable ...

in building a suspension bridge a cable is to be stretched from the top of a pier to a point 852.6 ft. from it''s foot. if from this point the angle of elevation of the top of the

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