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

K-nearest neighbor for text classification, Assignment 2: K-nearest neighbo...

Assignment 2: K-nearest neighbor for text classification. The goal of text classification is to identify the topic for a piece of text (news article, web-blog, etc.). Text clas

Computer graphics, explain area sub division method algorithm

explain area sub division method algorithm

Explain bernstein conditions for detection of parallelism, Bernstein Condit...

Bernstein Conditions for Detection of Parallelism For execution of a number of instructions or a block of instructions in parallel, it must be made certain that instructions ar

Describe about instruction set, Q. Describe about Instruction set? Inst...

Q. Describe about Instruction set? Instruction set is the boundary where computer designer and computer programmer see the same computer from various viewpoints. From the desig

Transportation model, advantages and disadvantages of northwest corner meth...

advantages and disadvantages of northwest corner method and least cost method

Classification based on grain size, Classification Based On Grain Size ...

Classification Based On Grain Size  This classification is based on identifying  the parallelism in a program to be implemented on a multiprocessor system. The plan is to recog

How many types of memory in computer architecture, Computer have many type ...

Computer have many type of memory like primary memory , Auxiliary memory ,  Cache memory , buffer memory ,virtual memory , The work of all memory heterogeneously primary memory

What is file scope, Explain File scope File scope: The variables and ...

Explain File scope File scope: The variables and functions with file scope appear outside any block or list of parameters and are accessible from any place in the translation

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