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

Give the organization of centralized store program control, Give the organi...

Give the organization of centralized store program control ( SPC). Within stored program control systems, a program or set of instructions for the computer that is stored in

Discuss functioning of different network access equipments, Discuss the fun...

Discuss the functioning of different network access equipments. The E1 multiplexers MX2000 and MX2411 and E1/T1 MX200 are giving multi interface user access to network PDH or S

Nand gate, The NAND gate. The NAND gate is equivalent to an AND gate fo...

The NAND gate. The NAND gate is equivalent to an AND gate followed by a NOT gate so that the output is 0 when all of the inputs are high, otherwise the output is 1. There may

Maximum size of a database, What is the maximum size of a database that can...

What is the maximum size of a database that can be opened in Microsoft Access? Ans) 1 Gigabyte

Build and explain a prototype model-uml, International Coal Coal-fire...

International Coal Coal-fired Power Generation Compared with other fossil fuels, burning coal produces relatively large amounts of atmospheric pollutants: carbon dioxide

Explain the recording mode for web vuser script, We use VuGen to make a Vus...

We use VuGen to make a Vuser script by recording a user performing typical business processes on a customer application. VuGen makes the script by recording the activity among the

What are the ways to truncate guard bits, What are the ways to truncate gua...

What are the ways to truncate guard bits? 1. Chopping 2. Von Neumann rounding 3. Rounding procedure.

Logical database is a database structure., In sense of Database Management ...

In sense of Database Management System (DBMS) LOGICAL DATABASE is a database Structure. False LOGICAL DATABASE is not a database Structure.

What do you mean by linker, Q. What do you mean by Linker? For modular...

Q. What do you mean by Linker? For modularity of your programs it is better to break your program in numerous sub routines. It's even better to put common routine such as read

Explain segmentation, Explain segmentation? Segment memory addressing ...

Explain segmentation? Segment memory addressing divides memory into many segments. Each of these segments can be considered as a linear memory space. Every one of these segmen

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