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

Define macros, Define macros.   A macro is a pre-processor directive wh...

Define macros.   A macro is a pre-processor directive which is a program that processes the source code before it passes by the compiler. These are placed in the source program

Two methods of copying a information document, There are basically two meth...

There are basically two methods of copying: Photocopying This is a modified development of photography. It is quite expensive and slow and is not often used for routine rep

What is tape backup, Q. What is Tape Backup? Magnetic tapes are used th...

Q. What is Tape Backup? Magnetic tapes are used these days in computers for the below purposes: Backing up data stored in disks. It is essential to regularly save data s

Intelligent retrieval from database, Intelligent Retrieval from Database: D...

Intelligent Retrieval from Database: Database system are large bodies of facts about some subjects, which are used to answer users queries about that subject. The design of d

Define the boolean algebra, Define The Boolean algebra? A set of rules in...

Define The Boolean algebra? A set of rules invented by the English mathematician George Boole describe certain propositions whose outcome would be either true or false with regar

How is a multidimensional array defined pointer, How is a multidimensional ...

How is a multidimensional array defined in terms of a pointer to a collection of contiguous arrays of lower dimensionality ? C does not have true multidimensional arrays. Howev

Define user space, Define user space? The system space is divided from ...

Define user space? The system space is divided from virtual address space in which the user application programs reside. The letter space is known as user space.

Can you define a field without a data element, Can you define a field witho...

Can you define a field without a data element? Yes.  If you require specifying no data element and thus no domain for a field, you can enter data type and field length and a sh

Perceptrons of artificial neural networks, Perceptrons: However the we...

Perceptrons: However the weights in any ANN are usually just real numbers and the learning problem boils down to choosing the best value for each weight in the network. Becaus

What is interpolated resolution, Q. What is Interpolated Resolution? Ev...

Q. What is Interpolated Resolution? Every Scanner is accompanied by a software. This software can raise the apparent resolution of scan by a scheme known as Interpolation.  By

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