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

Show the liability of cpu in interrupt cycle, Q. Show the liability of CPU ...

Q. Show the liability of CPU in interrupt cycle? In the interrupt cycle the liability of CPU/Processor is to ensure whether any interrupts have happened checking presence of in

What is big endian and little endian format, What is big endian and little ...

What is big endian and little endian format? The name big endian is used when lower byte addresses are used for the more important of the word. The name little endian is used f

Explain problem-oriented and procedure-oriented language, Explain differenc...

Explain difference between Problem-oriented and procedure-oriented language. Problem-oriented and procedure-oriented language: The programming languages which can be utilized

Impact of information systems, What are the primary impacts of information ...

What are the primary impacts of information systems on an organization (employer, club, school, religious, etc..) for which you are familiar? What are the primary ways in which

What is cursor, What is Cursor? Cursor is a database object used by app...

What is Cursor? Cursor is a database object used by applications to manipulate data in a set on a row-by- row basis, instead of the typical SQL commands that operate on all the

Associative array processing, Consider that a list of record or a table is ...

Consider that a list of record or a table is stored in the memory and you wish to find some information in that particular list. E.g. the list comprises three fields as displayed b

Differentiate between the serial port and parallel port, Question: (a) ...

Question: (a) Provide types of computer systems and briefly describe each one. (b) With the help of example, explain the difference between open source software, freeware a

What is persistence, What is Persistence When you make an object, it e...

What is Persistence When you make an object, it exists for so long as you need it, but under no circumstances object exist when program terminates. While this makes sense at s

Security protocols used for e-commerce applications, Explain dissimilar sec...

Explain dissimilar security protocols used for e-commerce applications.   The e-commerce systems of today are composed of a number of components including: a commerce server, d

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