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

Can we use write statements in screen fields, Can we use WRITE statements i...

Can we use WRITE statements in screen fields? If not how is data transferred from field data to screen fields? We cannot write field data to the screen using the WRITE stateme

Define deadlock, Define deadlock? Deadlock is a condition, wherein proc...

Define deadlock? Deadlock is a condition, wherein processes never finish executing and system resources are tied up, preventing another job from beginning. A process requests r

Change to palindrome, given a string S convert it to palindrome by doing ch...

given a string S convert it to palindrome by doing character replacement.convert S to palindrome with minimum character replacements

What are the requirements a dialog program must fulfill, What are the requi...

What are the requirements a dialog program must fulfill? A dialog program must fulfil the following requirements A user friendly user interface. - Format and consistency

Changing the system prompt, Q. Changing the System Prompt? When you cha...

Q. Changing the System Prompt? When you change the directory, you would like to keep track of it. The best way to do this is by displaying the name of the current directory alo

Name some of synthesizable and non-synthesizable constructs, Can you list o...

Can you list out some of synthesizable and non-synthesizable constructs? not synthesizable->>>> initial ignored for synthesis. delays  ignored for synthesis. ev

101-key enhanced keyboard, With its newer range of PCs IBM introduced 101-k...

With its newer range of PCs IBM introduced 101-key Enhanced/Advanced keyboard.  This keyboard is fundamental keyboard behind modern QWERTY keyboards. This has function keys aligned

Explain e-mail gateways, Explain E-mail gateways. Email using SMTP work...

Explain E-mail gateways. Email using SMTP works better while both the sender and the receiver are on the Internet and can support TCP connections among sender and receiver. Tho

Engineering maths, calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

What is memory mapped i/o, What is memory mapped I/O? When the I/O devi...

What is memory mapped I/O? When the I/O devices share the similar address space, the arrangement is known as memory mapped I/O.

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