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 properties of the webservice attribute, Question: (a) (i) Expl...

Question: (a) (i) Explain properties of the WebService attribute. (ii) Discuss three properties of the WebMethod attribute. (b) What are WSDL documents used for? (c)

List one advantage & disadvantage of having large block size, List one adva...

List one advantage and one disadvantage of having large block size. Ans: Advantage: By using a huge block of memory is maximum process's accommodation that resulting is less no

Data dependency, Data Dependency:   It refers to the state in which two or ...

Data Dependency:   It refers to the state in which two or more instructions split same data. The instructions in a program can be given based on the relationship of data dependency

Device drivers in windows system, Q. Device drivers in Windows system? ...

Q. Device drivers in Windows system? In Windows system device drivers are implemented as dynamic link libraries (DLLs). This scheme has advantages which DLLs comprises sharea

Positive logic nand gate is equivalent to negative logic nor, Show that a p...

Show that a positive logic NAND gate is equivalent to negative logic NOR gate. Ans:  Positive logic denotes True or 1 with a high voltage and False or 0 with a low volt

What is perl, Perl is an interpreted language (not compiled, like Java) whi...

Perl is an interpreted language (not compiled, like Java) which is ideally suited for CGI programming. It has its roots in UNIX system administration and offers various features li

Explain about parity bit, Q. Explain about Parity bit? Parity bit is an...

Q. Explain about Parity bit? Parity bit is an error detection bit added to binary data such that it creates total number of 1's in the data either odd or even. For illustration

Write the html code to web page to insert an image, Write the HTML code to ...

Write the HTML code to accomplish the web page to insert an image onto a page using good.gif as image and having "welcome" as the ALT text. The HTML code to accomplish the web

What is base register addressing, Q. What is Base Register Addressing ? ...

Q. What is Base Register Addressing ? An addressing technique in which content of an instruction specifies base register is added to address field or displacement field of the

What is booting, What is booting? When the power is turned on, the OS h...

What is booting? When the power is turned on, the OS has to be loaded into the main memory which is taken place as part of a process known as booting. To initiate booting a tin

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