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

Create a system dynamic model, Easter Island is a small island (about 150 s...

Easter Island is a small island (about 150 square miles in area) in the Pacific Ocean about 2,000 miles from South America. In about 400 AD there was a small population of settlers

Efficiency of vector processing over scalar processing, Efficiency of Vecto...

Efficiency of Vector Processing over Scalar Processing: We know that, a sequential computer processes scalar operands one at a time. Thus, if we have to process a vector of len

Skip to line line number, The "SKIP TO LINE line number" is dependent on wh...

The "SKIP TO LINE line number" is dependent on which statement included in the report statement of the program. The "SKIP TO LINE line number" is dependent on "LINE-COUNT" stat

Define register file, Define register file. All general purpose registe...

Define register file. All general purpose registers are combined into a one block called the register file.

What is the dissimilarity between dynamic strain aging, Q. What is the diss...

Q. What is the dissimilarity between dynamic strain aging and strain aging? Answer:- Strain aging could be explains as "normal wear and tear" or the fatigue that is experi

Explain the linux from scratch system, Problem 1 (a) Explain the RAID ...

Problem 1 (a) Explain the RAID system and explain all possible configurations. (b) Summarize design goals, features and specifications of the Linux ext2 file system. (c

Explain b2c -business to consumer, B2C -Business to Consumer  This is w...

B2C -Business to Consumer  This is where the consumer admittance the system of the supplier. It is still a two-way function but is usually complete solely by the Internet.

How do you perform functional testing under load, Functionality under load ...

Functionality under load can be tested by running various Vusers concurrently. By enhancing the amount of Vusers, we can verify how much load the server can sustain.

Rapid appllication development, Explain clearly the four stages in the Rapi...

Explain clearly the four stages in the Rapid Application Development

Risc approach - computer architecture, RISC Approach - computer architectur...

RISC Approach - computer architecture: The RISC processors only use easy instructions that can be executed within one clock cycle. therefore, the "MULT" command discussed abov

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