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

Describe generic framework for electronic commerce, Describe generic framew...

Describe generic framework for electronic commerce Generic Framework for electronic commerce contains the Applications of EC   (like as banking, shopping in online stores and m

Memory management unit, A computer system with 16K of memory, a Memory Mana...

A computer system with 16K of memory, a Memory Management Unit with a page size of 2000, and the following page translation table :      Logical Address    Physical Start 0000

Describe about address space and memory space, Q. Describe about Address Sp...

Q. Describe about Address Space and Memory Space? An address used by a programmer will be termed as a virtual address and set of such addresses the address space. An address in

Differentiate among validation and exception testing, Differentiate between...

Differentiate between validation and exception testing. - Validation testing is done to test software in conformance to requirements specified. It aims to demonstrate that soft

Interval b/w time of submission and completion of the job, Interval between...

Interval between the time of submission and completion of the job is? Ans. Turnaround time is the interval in between the time of submission and completion  of the job.

Mclr, 10 k Ohm pulls up on MCLR so that the ICD can force 0, +5, +13 volts ...

10 k Ohm pulls up on MCLR so that the ICD can force 0, +5, +13 volts on this pin. RB6 and RB7 used for PGC and PGD respectively between target and ICD2 module. Some of the requi

What is tri-state logic, What is Tri-state logic ? Ans. Tri-state Logi...

What is Tri-state logic ? Ans. Tri-state Logic: In common logic circuits, there are two states of the output, as LOW and HIGH. If the output is not in the LOW state, this

Differentiate between protected and real modes of an intel, Differentiate b...

Differentiate between protected and real modes of an Intel microprocessor Operation of Real mode interrupt: When microprocessor completes executing the current instruction, it

Define about hyper-threading technology, Q. Define about Hyper-threading te...

Q. Define about Hyper-threading technology? Hyper-threading technology enables a single microprocessor to behave as two separate threaded processors to operating system and app

Write a program to find the area and perimeter of a circle, Write a program...

Write a program to find the area and perimeter of a circle of given radius # include void main() { float radius, area, perimeter, pi=3.14; printf("\nEnter the rad

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