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 the order in which optimized c-scan would service, Consider the s...

Consider the situation in which the disk read/write head is currently located at track 45 (of tracks 0-255) and moving in the positive direction. Assume that the following track re

Hazard (computer architecture), Hazard (computer architecture): In the...

Hazard (computer architecture): In the computer architecture, a hazard is a possible problem that can occurs in a pipelined processor. It concern to the possibility of erroneo

Loop statement in both the pbo and pai events, Why do we need to code a LOO...

Why do we need to code a LOOP statement in both the PBO and PAI events for each table in the screen? We require coding a LOOP statement in both PBO and PAI events for every ta

How can a shift register be used as a counter, What is a shift register? Ca...

What is a shift register? Can a shift register be used as a counter? If yes, explain how?     Ans: Shift Register: A register wherein data gets shifted towards left or right

Reflexes - artificial intelligence, Reflexes - artificial intelligence: ...

Reflexes - artificial intelligence: If an agent decides upon and executes an action in response to a sensor input without consultation of its world, then this can be considere

Artificial neural networks - artificial intelligence, Artificial Neural Net...

Artificial Neural Networks - Artificial intelligence: Decision trees, while strong, are a easy representation method. While graphical on the surface, they may be seen as disjun

In 8085 which is called as high order / low order register, Flag is known a...

Flag is known as Low order register & Accumulator is known as High order Register.

Common tasks to accomplish - artificial intelligence, Common Tasks to Accom...

Common Tasks to Accomplish: Once you've worried about what and why you're doing "AI", what has inspired you and how you're going to approach the job, then you just start to th

List in a pop-up screen other than full-size stacked list, Can we display a...

Can we display a list in a pop-up screen other than full-size stacked list? Yes, we can show a list in a pop-up screen using the command WINDOW with the additions beginning at

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