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

Cut-off search - artificial intelligence, Cut-off Search: By using  a m...

Cut-off Search: By using  a minimax search, all we have to do is program, in a game playing situation our agent to look at the whole  search tree from the current state of the

Mechanisms for pick and place industrial robots - robotics, Each group is r...

Each group is required to complete a group assignment on the analysis, modelling and classification of one of the following classes of mechanisms encountered in robotics and indust

Target_parent, TARGET = "_parent" "_parent" is used in a situation whe...

TARGET = "_parent" "_parent" is used in a situation where a frameset file is nested inside another frameset file. A link in one of the inner frameset documents that uses "_par

State the concept of multiplicity, Multiplicity Multiplicity in an ass...

Multiplicity Multiplicity in an association specifies tells us about number of objects participate in a relationship. It decides the number of related objects. Multiplicity is

Symmetric and asymmetric encryption algorithms, Compare and contrast symmet...

Compare and contrast symmetric & asymmetric encryption algorithms. Your response should contain a brief overview of the cryptographic basis for every type of algorithm, and a compa

Explain clearly the difference between j-cuts and l-cuts, Question: (a)...

Question: (a) Explain clearly the difference between J-cuts and L-Cuts. (b) What is the function of the rate stretch tool? (c) What's the difference between an Image Matt

Inheritance, what is Ambiguity in single inheritance

what is Ambiguity in single inheritance

Addition NO-SIGNS to the Write statement, Suppressing the number signs (+/-...

Suppressing the number signs (+/-) is carried out using the addition NO-SIGNS to the Write statement. Statement is false.

Phython, super ascii string checker

super ascii string checker

Simplify following using k-map, Q. Explain XNOR gate with three input varia...

Q. Explain XNOR gate with three input variable and draw necessary circuits. Q. Simplify FOLLOWING Using K-Map 1. m0 + m1 + m6 + m7 + m12 + m13 + m8 + m9 2. m0 + m2 + m4 +

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