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 about hexadecimal numbers system, Q. Explain about Hexadecimal Numb...

Q. Explain about Hexadecimal Numbers system? Hexadecimal system has 16 digits that are represented as 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. A number (F2) H is equivalent to

How can we specify file transfer in a web page, Can we specify file transfe...

Can we specify file transfer in a Web page? Explain with the help of suitable example. Yes, file transfer can be given in a web page. The first field within a URL gives a proto

Variable-partition multiprogramming, Choose the descriptions below with the...

Choose the descriptions below with the most appropriate memory management scheme (A through D).  Solutions may be used once, more than once, or not at all. A.     Fixed-partitio

Same reg variable in an always block, What value is inferred when multiple ...

What value is inferred when multiple procedural assignments made to the same reg variable in an always block? When  there  are  multiple  nonblocking  assignments  made  to  th

Cognitive science applications, This branch of AI is concerned with incor...

This branch of AI is concerned with incorporating knowledge from varied disciplines such as biolog neurology psychology mathematics and several linked disciplines. It is typic

What is mmx technology, What is MMX Technology MMX Technology: MMX (M...

What is MMX Technology MMX Technology: MMX (Multimedia extensions) technology adds 57 new instructions to instruction set of Pentium - 4 microprocessors. MMX technology also

And-elimination-introduction rule - artificial intelligence, And-Eliminatio...

And-Elimination-Introduction rule - Artificial intelligence: And-Elimination In English, this says that "if you know that many things are all true, then you know that any

Explain the general model for the translation process, Write down the gener...

Write down the general model for the translation process. For the translation process the general model can be represented as given here:

Describe the assume - assembler directives, Describe the Assume - Assembler...

Describe the Assume - Assembler directives ASSUME: This directive would be used to map the segment register names with memory addresses.  Syntax is as below: ASSUME SS:

Presumably for heightened tension - first-order logic, Presumably for heigh...

Presumably for heightened tension - first-order logic: As an aside, it's worth pointing out that - presumably for heightened tension - in most Sherlock Holmes books, the m

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