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

Eliminating data hazards - computer architecture, Eliminating data hazards:...

Eliminating data hazards: Forwarding NOTE: In the following instance, computed values are in bold, whereas Register numbers are not. Forwarding involves adding output

Define a register, Define a register. Ans:  Register:   A register...

Define a register. Ans:  Register:   A register contain a group of flip-flops and gates which effect their transition. The flip flops hold the binary information and the g

What do you mean by complexity of an algorithm, What do you mean by complex...

What do you mean by complexity of an algorithm? The term complexity is used to define the performance of an algorithm. Typically performance is calculated in terms of time or s

Determine the level of state decomposition, Determine the level of state de...

Determine the level of state decomposition The level of state decomposition must be determined by judgement. A too fine grained model is unsuitable, such as, modelling all poss

Explain the term - computer aided software engineering, Explain the term - ...

Explain the term - Computer Aided Software Engineering Production of software became much commercial. Software development tools were devised. Concept of Computer Aided Softwar

naming convention in local scope variables, Description Variables show ...

Description Variables show values that can be changed within a procedure or function. Local scope variables are placeholders that reside within a function- or a script-body.

What is blocking probability, What is blocking probability? Blocking ...

What is blocking probability? Blocking Probability: The blocking probability P is described as the probability like all the servers in system are busy. If all the servers ar

Prints the hundreds digit in two integers , Write an application that prin...

Write an application that prints the hundreds digit  in two integers read from the keyboard. For example if the data values are 1456 and 255 respectably, output should include the

What are the mechanisms for implementing i/o operation, What are the variou...

What are the various mechanisms for implementing I/O operations? a) Program controlled I/O b) Interrupts c) DMA

What is swapping, What is swapping?   A process can be swapped out tempo...

What is swapping?   A process can be swapped out temporarily of memory to a backing store and after that brought back in memory for execution as continued.

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