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

Explain implementation techniques, Explain Implementation techniques Im...

Explain Implementation techniques Implementation techniques(e.g. remote invocation, HTTP). An event-based cooperation can be executed using message passing or it can  be based

Length property of array , DEscribe a console application to show all the a...

DEscribe a console application to show all the arguments passed tocommand line whereas running the application. The user can pass anynumber of arguments that should be shown. Use l

Basic elements of assembly language, Basic elements of  Assembly language:...

Basic elements of  Assembly language: Any Assembly language which consists 3 types of instruction statements that are used to define the program operations: Data secti

What are the benefits of electronic data interchange process, What are the ...

What are the benefits of electronic data interchange process? Advantages of Electronic Data Interchange: a. EDI replaces paper transactions along with electronic transac

Define usb, Define USB. The Universal Serial Bus(USB) is an industry st...

Define USB. The Universal Serial Bus(USB) is an industry standard developed to give two speed of operation known as low-speed and full-speed. They provide simple, low cost and

How many address bits are required to represent 4K memory, How many address...

How many address bits are required to represent 4K memory ? Ans. 12 address bits are required for representing 4K memory, as 4K = 2 2 x 2 10   = 2 12 Therefore 1K = 1024

Basic need of search engines, Q. Basic need of Search Engines? Search E...

Q. Basic need of Search Engines? Search Engines are programs which search the web. Web is a big graph with pages being the nodes and hyperlinks being the arcs. Search engines c

Why digital computers use complemented subtraction method, The chief reason...

The chief reason why digital computers use complemented subtraction is that it ? Ans. By using complemented subtraction method negative numbers can easily be subtracted.

What are the user interfaces of interactive lists, What are the user interf...

What are the user interfaces of interactive lists? If you require the user to communicate with the system during list display, the list must be interactive.  You can describe

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