Design a memory buffer of limited size, Computer Engineering

Assignment Help:

Extend task 1 so that it now supports a memory buffer of limited size. Provide the same functionality as task 1 except now make the server work with a limited buffer size.

Like task 1, the server is the only thread that can access the buffer directly.

1. Allow user to specify a 2nd command line argument which specifies the buffer size in terms of the number of pages. Let that number be B.

2. The server reads the first B pages from the init_buffer_pages.dat file into the buffer. It then copies all the pages into a store file. You can organize the store file anyway you want as long as it stores all pages including those not in memory. I recommend that you use a binary file to do this since that allows you to do random seeks on the file. Assume all pages have a fixed size of 4096 characters.

3. When a page request for a non-buffer resident page occurs one page that is currently in the buffer must be evicted from memory to make room for the newly requested page to be loaded from the store file. The page replacement policy you need to implement is the least recently used (LRU) policy. Please read page 489 of the textbook for an explanation of the LRU policy.

4. Once a page to be evicted has been chosen then the program must decide whether it should be flushed to the store file or discarded.
a) If the page has been dirtied (modified) since its last load from disk then it should be flush to the store file on disk.
b) Otherwise it should be discarded without flushing to the store file.

5 The server needs to keep a log of the sequence of page evictions (pages either discarded or flushed to disk) in a log file called "server_log.dat". The entries in the log file are in the order that they were evicted. Looking at this file I will be able to tell if you have implemented the LRU page-replacement policy correctly.

The server_log.dat file should be in the following format:


...
...

For example:

20 abscde
10 KJlkljf
29 jjkjkKKH


Related Discussions:- Design a memory buffer of limited size

How a shift register can be used as a ring counter, Explain how a shift reg...

Explain how a shift register can be used as a ring counter giving the wave forms at the output of the flipflops. Ans: Shift Register as a Ring Counter: A Ring Counter is a

C programming, A palindrome is a string that reads the same from both the e...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

What is literal, Meaning of Literal is:- Literal is string constant.

Meaning of Literal is:- Literal is string constant.

What are the different scheduling policies in linux, What are the different...

What are the different scheduling policies in Linux The Linux scheduler has three different scheduling policies: one for 'normal'Processes, and two for 'real time' processes

Ending transactions - data phase, Ending transactions: Either side may...

Ending transactions: Either side may request that a burst end after the present data phase. Simple PCI component that do not support multi-word bursts will always request this

What is fan-out, What is fan-out? Estimate the average count of every "...

What is fan-out? Estimate the average count of every "many" association encountered with the path. Multiply the individual fan-outs who obtain the fan-out of the whole path, wh

What is static timing, What is Static timing a. Delays over all paths a...

What is Static timing a. Delays over all paths are added up. b. All possibilities, including false paths, verified without the need for test vectors. c. Faster than simul

How is recursion handled internally, How is recursion handled internally? ...

How is recursion handled internally? Internally, every recursive call to a function requires storing the intermediate values of the parameters and local variables in a run time

What is file scope, Explain File scope File scope: The variables and ...

Explain File scope File scope: The variables and functions with file scope appear outside any block or list of parameters and are accessible from any place in the translation

Explain characteristics of program translation model, Explain characteristi...

Explain characteristics of program translation model. The program translation model characteristics are: A program should be translated before this can be executed.

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