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

Explain about floating point representation, Q. Explain about Floating Poin...

Q. Explain about Floating Point Representation? Floating-point number representation includes two parts. The first part of number is a signed fixed-point number which is called

What are instruction hazards, What are instruction hazards? The pipelin...

What are instruction hazards? The pipeline might also be stalled because of a delay in the availability of an instruction. For instance, this may be a result of a miss in the c

Dynamic programming, Given: • A sequence of n arrival times t0, t1, ..., ...

Given: • A sequence of n arrival times t0, t1, ..., tn-1, • a library of mlogically equivalent gates {(d0, c0), (d1, c1), ..., (dm-1,cm-1)} where d is delay and c is cost • a

Implementation of a data entry application, Develop and submit an original ...

Develop and submit an original implementation of a data entry application. Identify and declare variables which will hold all data that needs to be entered to fill in the attached

Show the features of hyper-threading, Q. Show the Features of Hyper-threadi...

Q. Show the Features of Hyper-threading? The significant characteristics of hyper threading are: i) Improved response time and reaction, as well as increased number of users

Explain block diagram for 4 bit parallel adder, What is parallel adder? Dra...

What is parallel adder? Draw and explain block diagram for 4 bit parallel adder. Ans: By using full adder circuit, any two bits can be added along with third input like a ca

Mapping, what is transform mapping and transaction mapping?

what is transform mapping and transaction mapping?

Explain the configuration of a step-by-step switching system, With neat dia...

With neat diagrams explains the configuration of a step-by-step switching system. The schematic diagram for an exchange is specified in figure. Each subscriber is associated to

Overflow condition in linked list, Overflow condition in linked list may ha...

Overflow condition in linked list may happen when attempting to Make a node when free space pool is empty.

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