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

State the characteristics of object oriented modelling, Characteristics of ...

Characteristics of object oriented Modelling In object oriented modelling objects and their properties are explained. In any system, objects come into reality for playing some

Differentiate between rom test and the ram test, Probelm : a) What is t...

Probelm : a) What is the purpose of "Jumps" in the 8051 Microcontroller? Describe three types of "Jumps". b) What is the purpose of a "call"? c) Differentiate between ROM

Explain that lost acknowledgement in packet retransmission, Explain that th...

Explain that the lost acknowledgement does not necessarily enforce retransmission of the packet . To guarantee reliable transfer, protocols utilize positive acknowledgement al

Mathematical applications, The current 32 and 64 bit machines can represent...

The current 32 and 64 bit machines can represent integers of around 9 digits and 30 digits respectively, while various scientific and mathematical applications have to represent in

Explain about wildcard character in dos, Q. Explain about wildcard characte...

Q. Explain about wildcard character in DOS? Sometimes you may like to list files having similar names. Let as suppose that these files are present in a root directory of drive

Explain the type of micro-operations, Q. Explain the type of micro-operatio...

Q. Explain the type of micro-operations? Let's first discuss type of micro-operations. Most common micro-operations performed in a digital computer can be categorized into 4 ca

Predicate logic - artificial intelligence, Translate the following sentence...

Translate the following sentences into predicate logic, using Russell's theory of definite descriptions to represent the article the. a. The wizzard of Oz fell. b. Everyone a

What is the role of a controller in an mvc application, The controller resp...

The controller responds to user interactions, with the application, by selecting the act method to implement and also selecting the view to render.

What interface is extended by awt event listeners, All AWT event listeners ...

All AWT event listeners expand the java.util.EventListener interface.

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