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

What is a spool request, What is a Spool request? Spool requests are f...

What is a Spool request? Spool requests are formed during dialog or background processing and placed in the spool database with information about the printer and print format.

What about division and multiply operations, Q. What about division and mul...

Q. What about division and multiply operations? In most of the older computers divisions and multiply were implemented using subtract/add and shift micro-operations. If a digit

State the advantages of CMOS, State the advantages of CMOS. Ans. Su...

State the advantages of CMOS. Ans. Subsequent are the advantages of CMOS: Both n-channel and p-channel devices are fabricated on similar substrate. Low power di

How many words can be acquired by the word universal, How many words can be...

How many words can be acquired by arranging the letters of the word 'UNIVERSAL' in different way? In how many of them  (i)  E, R, S takes place together (ii)  No two of the

Structure of 8086 cpu, 8086 microprocessor comprises two independent units:...

8086 microprocessor comprises two independent units:  1.  Bus Interface unit 2.  Execution unit Please refer to Figure below. Figure: The CPU of INTEL 8086 Microp

Compare a decoder and a demultiplexer with block diagram, Compare a decoder...

Compare a decoder and a demultiplexer with suitable block diagrams. Ans. Demultiplexer has similar circuit as decoder but here e is obtained as the particular input line, the

Ready to help students, What is the process to register as expert in comput...

What is the process to register as expert in computer science

How to load dos from hard disk, Q. How to Load DOS from Hard Disk? To L...

Q. How to Load DOS from Hard Disk? To Load DOS from the Hard Disk of your computer, follow these steps: 1. Turn on the power ON/OFF switch of the CPU unit of your PC the pow

What is actor, What is actor? An actor is a direct external user of a s...

What is actor? An actor is a direct external user of a system. Every actor shows objects that behave in a particular way towards systems. Actors are directly linked to system.

Explain about hyper-threading, Q. Explain about Hyper-threading? Non th...

Q. Explain about Hyper-threading? Non threaded program instructions are executed in a single order at a time until the program completion. Presume a program have four tasks nam

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