Implementation of modern memory management system , Operating System

Assignment Help:

Central to implementation of a modern memory management system is the page replacement algorithm. Modern virtual memory systems break memory up into pages and map (via a page table) only the pages needed, or a maximum number of pages that is constrained by system load, into the address space of the process. The page replacement algorithm is used to decide which page/s of memory to evict when different pages of memory are needed.

Using the simulators provided you will develop an understanding of the algorithms involved and perform a comparison of the efficiency of these algorithms.

2. The Simulators

The speci?cations of the simulators are as follows:

  • Only a single process run is simulated, so all the available physical memory constitutes the resident set for this process. This represents ?xed allocation, local scope policy for the resident sets.
  • The physical memory size (in frames) is an input parameter to the program. This should be less than the number of virtual pages, so some of the process pages will not ?t into physical memory.
  • The virtual address is 16-bit long. The page is addressed by the high-order 8 bits, and the offset within the page by the low-order 8 bits, so there are 256 virtual pages, each capable of holding 256 bytes.

The following data structures are provided:

  • A linear page table, which maps the virtual page number to a physical frame number. Each page table entry contains the physical frame number, and a valid bit. Other control bits or items should be added to facilitate implementation of the chosen page replacement strategy.
  • A free list, which is a list of all frames in physical memory available for allocation to the process. Initially all available frames belong to this list.
  • A resident set, which is a list of physical frames allocated to the process. Initially  this list is empty.

Initially all available frames are free, and can be allocated to the process on demand. When the free list runs out of frames, one of the frames in the resident set must be freed for the incoming page. The choice of the victim page is governed by the replacement policy.

The execution of the process is simulated by the pager program which reads virtual addresses from the input ?le, and allocates new frames to the process as required.

3 Simulator Algorithms

Three simulators (that share a common codebase) have been provided. They implement the following algorithms:

  • FIFO
  • LRU
  • Optimal

You should research each of these algorithms and develop an understanding of how these algorithms work. You do not need to understand the code beyond the level of how to run the simulators.

4 Algorithm Comparison

Four input ?les have been provided that simulate different process workloads. You should use these as input to the simulators, varying the memory size to determine which is the most ef?cient algorithm for each input, and which is the most ef?cient overall. Plotting available memory versus page fault rate will help you in this task. A spreadsheet has also been provided to assist you in making these plots.

You should after performing these experiments be able to make a recommendation about which algorithm is best for use in a real system.

5 Deliverable and Marking Guide

You are required to write a report that includes the following information, with the marks available are indicated on the right hand side:

  • Introduction to the report
  • Description of "FIFO"
  • Description of "LRU"
  • Description of "Optimal"
  • Description of experiments performed, this should be an overview of the techniques used, the results will pin this down.
  • Presentation of results for input ?le 1, (this could just be a graph), and a ranking of the three algorithms performance.
  • Presentation of results for input ?le 2 and a ranking of the three algorithms performance.
  • Presentation of results for input ?le 3 and a ranking of the three algorithms performance.
  • Presentation of results for input ?le 4 and a ranking of the three algorithms performance.
  • Conclusions and recommendation of algorithm, this should be supported by your data.

Related Discussions:- Implementation of modern memory management system

What is micro-kernel?, Question 1 What is Micro-kernel? What are the benef...

Question 1 What is Micro-kernel? What are the benefits of Micro-kernel? Question 2 Explain seven state process models used for OS with necessary diagram. Differentiate betwee

Analysis of Pseudocode Sempahore Solution, Gopher Gallery consists of a sho...

Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at

Explain lru page replacement in detail, LRU page replacement In least ...

LRU page replacement In least lately used page replacement algorithm we will replace that page that hasn't been used for the longest period of time. This is similar as an opti

What are the operations of a directory, Operations that are to be performed...

Operations that are to be performed on a directory are Search for a file: We are able to find all files whose names match a exact pattern. Create a file: New files requi

Mutual exclusion, With software algorithms for mutual exclusion, such as De...

With software algorithms for mutual exclusion, such as Dekker's algorithm, Peterson's algorithm, or Lamport's bakery algorithm, note that optimizing compilers and out-of-order exec

Thread, Explain thread in details

Explain thread in details

What is multitasking, What is Multitasking? Multitasking provides power...

What is Multitasking? Multitasking provides power to users by offering them to run multiple applications at once. The applications are loaded into memory and appear to the user

Explain fifo page replacement in detail, FIFO page replacement This is...

FIFO page replacement This is the easiest page replacement algorithm. Here the 1 st page toward the inside is the 1 st to leave that is the oldest page leaves. To execute th

Why we need to use a while statement when using wait method, Q. The wait()...

Q. The wait() statement in every Java program examples was part of a while loop. Describe why you would always need to use a while statement when using wait() and why you would ne

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