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

Flat, nfa significance

nfa significance

What is verification method, The verification method states how Robot compa...

The verification method states how Robot compares the baseline data captured while recording with the data captured during playback.

How can we convert infix expression to a postfix expression, One can change...

One can change an infix expression to a postfix expression using a By using Stack you can convert infix expression to a postfix expression

Show the steps of execution of instructions, Q. Show the steps of execution...

Q. Show the steps of execution of instructions? Fetch First Instruction into CPU: Step 1: Find/calculate the address of first instruction in memory. In this machine illust

Find a connection factory, Why do I get an exception when trying to find a ...

Why do I get an exception when trying to find a connection factory? Ans) The exception is regularly something like java.io.InvalidClassException or java.lang.NoClassDefFoundErro

Determine the bios function with one illustration, Determine the BIOS funct...

Determine the BIOS function with one illustration BIOS stands for Basic Input Output System. It is a set of programs to provide most basic low-level services like services keyb

What is the working of sound cards, Q. What is the working of Sound cards? ...

Q. What is the working of Sound cards? Multimedia has become a very significant part of today's PC. Home user wants hear songs and watch movies. The Software developer hacking

Differences between datagrid and datalist, Differences between Datagrid, Da...

Differences between Datagrid, Datalist and Repeater?   1. Datagrid has paging while Datalist doesnt. 2. Datalist has a property known as repeat. Direction = vertical/horizon

What are the types of assemblies, There are two types of assemblies:- 1...

There are two types of assemblies:- 1. Private Assemblies 2. Shared Assemblies

Why stored program control gains superiority over hard wired, In what way i...

In what way is stored program control superior to hard wired control? The SPC gains superiority over hard wired because of following points: SP C Ha

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