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

EME, How can i made Carnot engine

How can i made Carnot engine

Define throughput, Define throughput?  Throughput in CPU scheduling is ...

Define throughput?  Throughput in CPU scheduling is the number of processes that are completed per unit time. For long processes, this rate might be one process per hour; for s

Give brief summary of common aspects found in spreadsheets, Give brief summ...

Give brief summary of common aspects found in spreadsheets -  It's made up of columns and rows; every row is identified by a number and every column is identified with a letter

Micro-programmed control, Q. MICRO-PROGRAMMED CONTROL? A substitute to ...

Q. MICRO-PROGRAMMED CONTROL? A substitute to a hardwired control unit is a micro-programmed control unit in which logic of the control unit is specified by a micro-program. A m

Seven segment decoder, A design for the seven segment decoder is required. ...

A design for the seven segment decoder is required. The decoder has four inputs which represent a number from 0 to 9 in binary and seven outputs which are connected to the seven

Why array index starts from zero, This boils down to the concept of Binary ...

This boils down to the concept of Binary digits. Take an array size of 64 for example. We begin from 0 and end at 63. We need 6 bits.But, if we were to begin from 1 and end at 64,

State about the indirect addressing, Indirect addressing A memory locat...

Indirect addressing A memory location is given that holds another memory location. This second memory location holds the real data. This mechanism solves problems caused by rea

Explain the action-object matrix, Explain the Action-object matrix A...

Explain the Action-object matrix A matrix showing how update actions influence objects.  It may be considered to be part of user object model as it summarizes user object ac

Rcr, how to rotate shift right

how to rotate shift right

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

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