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

Input-output techniques, After going through details of device interfaces n...

After going through details of device interfaces next point to be discussed is how the interface can be used to support I/O from devices. Binary information received from an extern

Show some characteristics of linux, Show some characteristics of Linux? ...

Show some characteristics of Linux? It's a Unix-like computer operating system one of the most major examples of free software and open source development: typically all underl

Sdr, advantages of sdr

advantages of sdr

Define compilers with high level programming language, Define Compilers wit...

Define Compilers with High Level Programming Language? All high-level programming language (except strictly interpretive languages) comes with a compiler. Effectively the compi

Personal computer software, Personal Computer Software     The perso...

Personal Computer Software     The personal computer software market has burgeoned from the past decade. Spreadsheets, Word processing, computer graphics, database managemen

A subroutine can be terminated unconditionally using exit, A subroutine can...

A subroutine can be terminated unconditionally using EXIT. True.

Compatibility of sound cards, Q. Compatibility of Sound cards? Compati...

Q. Compatibility of Sound cards? Compatibility: Sound cards should be compatible at both software and hardware levels with industry standards.  Most software particularly gam

What is a formal description for a programming language, A grammar for a pr...

A grammar for a programming language is a formal description of ? Structure is a formal description for a programming language.

How to use messages in lists, How to use messages in lists? ABAP/4  pe...

How to use messages in lists? ABAP/4  permits you to react to incorrect or doubtful user input by displaying messages that influence the program flow depending on how serious

What are the advantages offered by data mining, What are the advantages off...

What are the advantages offered by data mining? Advantages offered through Data Mining are given below: a) Facilitates discovery of knowledge through massive, large data set

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