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

Solve the assignment of finite automata, Solve the assignment of NFA-- Fini...

Solve the assignment of NFA-- Finite Automata and Formal Language Project Description: I have an assignment on Finite Automata and Formal Languages ( Nondeterministic Fini

Explain function of network layer in tcp/ip protocol stack, Explain about t...

Explain about the function of network layer briefly in TCP/IP protocol stack. Internetwork Layer: The best-called TCP/IP protocol at internetwork layer is Internet Protoc

Design a 3-bit counter using sequential logic, Q. Design a 3-bit counter us...

Q. Design a 3-bit counter using sequential logic with following counting sequence using JK- flip-flops which counts the sequence 0, 3, 2, 7, 5 and repeat.

Control-centered virtual manufacturing, Control-Centered Virtual Manufactur...

Control-Centered Virtual Manufacturing This is the addition of simulations to control actual processes and models, permitting for seamless simulation for optimization throughou

Find minimal expression for sop, Consider the following expression. Assume ...

Consider the following expression. Assume that complement inputs are available. F(A,B,C,D) = ∑m (0,1,3,5,9,12,14) + ∑d (4,10,15) 1. Find minimal expression for SOP. Draw gate ne

Explain list directive in assembly language, Q. Explain list directive in a...

Q. Explain list directive in assembly language? A list directive causes assembler to generate an annotated listing on printer, video screen, disk drive or any combination of th

What is system testing, What is system testing? The final step in testi...

What is system testing? The final step in testing is system testing, which means checking the whole application. System testing exercises the overall application and make sure

.rapid technology, Choose one area of rapid technological change in IT or C...

Choose one area of rapid technological change in IT or Computer Science and research and report on recent developments and the outlook for the future in the area that you have chos

State the basic properties of this analytical engine, State the basic prope...

State the basic properties of this analytical engine The basic properties of this analytical engine are: It was a common purpose programmable machine. It had provisi

When the divide overflow is generated, Divide overflow is generated when ...

Divide overflow is generated when  (A) Sign of the dividend is dissimilar from that of divisor.  (B) Sign of the dividend is same as that of divisor.  (C) The first part

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