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 you mean by organizational effectiveness, Q. What you mean by organiza...

Q. What you mean by organizational effectiveness? Organizational effectiveness is measured in terms of productivity, structural flexibility, Employee involvement and Job satisf

What are the restrictions on subscreens, What are the restrictions on Subsc...

What are the restrictions on Subscreens? Subscreens have various restrictions.  They cannot: Set their own GUI status Have a named OK code Call another screen

What is assembly, What is assembly Assemblies are the building blocks o...

What is assembly Assemblies are the building blocks of .NET Framework applications; they variety the fundamental unit of deployment, version control, reuse, activation scoping,

Instruction set architecture - computer architecture, Instruction Set Archi...

Instruction Set Architecture:                             Instruction set architecture cycle-it is smallest unit of time in a processor. superscalar processor

Illustrate single in-line memory modules, Q. Illustrate Single In-line Memo...

Q. Illustrate Single In-line Memory Modules? From early days of semiconductor memory till the early 1990s memory was manufactured, brought and installed as a single chip. Chip

Decision table, Write a decision table that specifies the rules for the gam...

Write a decision table that specifies the rules for the game of checkers

Send a report to the printer, How to send a report to the printer instead o...

How to send a report to the printer instead of displaying it on the screen? We can send a report to the printer instead of displaying it on the screen.  To do this, use the key

What is the difference between = = = and = =, What is the difference betwee...

What is the difference between = = = and = = ? output of "==" can be 1, 0 or X. output of "===" can only be 0 or 1. When you are comparing 2 nos using "==" and if one/bo

Explain dial tone and ringing tone in strowger telephony, Explain Dial Tone...

Explain Dial Tone and Ringing Tone in strowger telephony. Dial Tone: it is used to indicate that the exchange is ready to recognize dialed digits by the subscriber. The subsc

What are cosmic rays, Q. What are cosmic rays? The ionising radiation s...

Q. What are cosmic rays? The ionising radiation several times stronger than γ-rays entering the earth from all the directions from cosmic or interstellar space is known as cosm

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