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

Homework, Use linear activation function and Hebbian learning for a SLFF ne...

Use linear activation function and Hebbian learning for a SLFF network to attempt to learn the following two sets of patterns. Why can the patterns be learned, or why can they not

What is sisd, What is SISD?  Single Instruction stream, Single Data str...

What is SISD?  Single Instruction stream, Single Data stream (SISD) shows the organization of a single computer having a control unit, a processor unit, and a memory unit. Inst

Detrmine pure paging, Which is not a key piece of information, stored in si...

Which is not a key piece of information, stored in single page table entry, assuming pure paging and virtual memory Ans. A reference for the disk block which stores the page is

Differentiate between logical address and physical address, Differentiate b...

Differentiate between logical address and physical address. A logical address is the address of the data word or instruction as used by a program (it includes the use of base

Explain about the data logging, Data logging  This technique involves ...

Data logging  This technique involves collecting data automatically using sensors; frequently used when doing scientific experiments or monitoring a system.

Important part of process - canonical genetic algorithm, Important part of ...

Important part of Process - canonical genetic algorithm: In such a scenario evolution or random mutations are often highly deleterious or can say harmful to the organism it me

Printers, Printers are devices which put ink on paper in a controlled manne...

Printers are devices which put ink on paper in a controlled manner. They manually produce photographic images orreadable text. Printers have gone through a large transition in tech

What is java awt, An AWT stands for Abstract Window Toolkit. AWT handles pr...

An AWT stands for Abstract Window Toolkit. AWT handles programmers to develop Java applications with GUI components, like windows, and buttons. The Java Virtual Machine (JVM) is re

How can we access the correction and transport system, How can we access th...

How can we access the correction and transport system? Each time you make a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the W

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