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

How is a valid user identifier accomplished, How is a valid user identifier...

How is a valid user identifier accomplished? A valid user identifier is accomplished within one or more of given ways: • Provide some password, which only user knows. • P

2 way staircase switch-truth table logic equation & circuit, A staircase li...

A staircase light is controlled by two switches one at the top of the stairs and another at the bottom of stairs a. Make a truth table for this system. b. Write the lo

What are the mechanisms for implementing i/o operation, What are the variou...

What are the various mechanisms for implementing I/O operations? a) Program controlled I/O b) Interrupts c) DMA

What do you meant by dreamweaver, A Web site is a set of linked documents w...

A Web site is a set of linked documents with shared attributes, like related topics, a similar design or a shared purpose. Macromedia Dreamweaver is a site creation and management

Find the magnetic declination, Question Use the National Geophysical Da...

Question Use the National Geophysical Data Center software tool to find the magnetic declination. The link to the web site is in Useful Links on the course Blackboard home page

Connectives in first-order logic sentences, Connectives in first-order logi...

Connectives in first-order logic sentences - Artificial intelligence We may string predicates together into a sentence in the same way by utilising connectives that we did for

Explain vector reduction instructions, Vector reduction Instructions Wh...

Vector reduction Instructions When operations on vector are being decreased to scalar items as a result then these are vector reduction instructions. These instructions are ref

Flowchart, how can we find compound interest through flowchart

how can we find compound interest through flowchart

Transportation model, advantages and disadvantages of northwest corner meth...

advantages and disadvantages of northwest corner method and least cost method

Algorithms, Data array A has data series from 1,000,000 to 1 with step size...

Data array A has data series from 1,000,000 to 1 with step size 1, which is in perfect decreasing order. Data array B has data series from 1 to 1,000,000, which is in random order.

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