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

Micro processor code, Suppose that the working register W contains the valu...

Suppose that the working register W contains the value 0x4F, the register FSR contains the value 0x2B; the register with address 0x2B contains 0x2F and the instruction ADDWF INDF,

Disadvantages of unauthenticated sites, Disadvantages of unauthenticated si...

Disadvantages of unauthenticated sites All the Units entering the Intranet must be scrutinised to ensure that they are not coming from the unauthenticated sites or users. It a

Illustrate associative memory, Q. Illustrate Associative Memory? The ti...

Q. Illustrate Associative Memory? The time required to find an item which is stored in memory can be decreased significantly if stored data can be identified for access by cont

Explain register addressing mode, Q. Explain Register Addressing Mode? ...

Q. Explain Register Addressing Mode? Operand can be a 16-bit register: Addressing Mode Description Example AX, BX, CX, DX, SI,

Example calculation of entropy, Example Calculation: If we see an exam...

Example Calculation: If we see an example we are working with a set of examples like S = {s 1 ,s 2 ,s 3 ,s 4 } categorised with a binary categorisation of positives and negati

Illustrate about sharing of structure and behaviour, Illustrate about Shari...

Illustrate about Sharing of Structure and Behaviour  One of the reasons for the popularity of object-oriented techniques is that they promote sharing at different levels. Inher

Describe the characteristics of mainframes, Problem 1 (a) List and desc...

Problem 1 (a) List and describe the characteristics of mainframes, minicomputers and microcomputers. (b) Briefly describe what is meant by electronic commerce and what b

Natural interfaces, A breakthrough in the AI intelligence the development ...

A breakthrough in the AI intelligence the development of natural interfaces is a prerequisite to the optimal use of computers by human beings. It incorporates: a. Natural La

Receive a message, Receive a message. tid is integer task identifier of tra...

Receive a message. tid is integer task identifier of transmitting process supplied by user and msgtag is message tag supplied by user( must be non negative integer). The process re

Fail-first - artificial intelligence, Fail-first - artificial intelligence:...

Fail-first - artificial intelligence: Alternatively one such dynamic ordering procedure is known like "fail-first forward checking". In fact the idea is to take advantage of i

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