New version page

UE CS 470 - Memory Management Project

This preview shows page 1 out of 2 pages.

View Full Document
View Full Document

End of preview. Want to read all 2 pages?

Upload your study docs or become a GradeBuddy member to access this document.

View Full Document
Unformatted text preview:

CS 470 - Operating SystemsSpring 2007 – Memory Management Project40 pointsOut: March 26, 2007Due: April 16, 2007 (Monday)The purpose of this project is gain an appreciation of the work involved in managing virtual memory, and to compare different page replacement policies for virtual memory management. The assignment is to write a simple virtual memory simulation. Problem Statement Develop a simulation program to investigate the relative effectiveness of the FIFO, LRU, and OPT page replacement strategies. Your program should measure the number of page faults generated by each strategy. Your simulator should read a reference string from a file. The reference string items will be of the form: <PID> <page ref>, where PID is a process ID and page ref is a page of that process' memory. For example, the following might be the beginning of an input file: 1 451 461 451 441 452 762 752 772 772 76This reference string corresponds to Process 1 accessing its pages 45, 46, 45, 44, and 45, then Process 2 accessing its pages 76, 77, 77, 76, and 75. We will assume a pure demand paging system (no pre-fetching). The simulation also must allow the number of physical frames to be specified. So for example, if there are 3 or more frames available, the above reference string will cause 6 page faults for all three strategies (one for each time a new page is referenced). If there are only 2 frames available, then there would be 7 page faults for LRU and 8 page faults for FIFO. The input file name and the number of physical frames may be entered interactively or on the command-line. 03/23/2007 1For the purposes of making this simulation manageable, assume a program gets 1 megabyte (1024 kilobytes) of virtual memory divided into 1K pages (i.e., a program can generate page references from 0 to 1023), and there will no more than 100 processes (PIDs 0 to 99). We also will assume a global replacement strategy. That is, when a page fault occurs, the victim page can be taken from any process. We will ignore the issue of dirty pages by assuming that all victim pages have not been modified. Assignment (40 points) (20 points) This project may be done individually or in pairs (group of 2). The simulator may be written in any language. However, the instructor can provide assistance only for C/C++ projects. Hand in a printout of well-documented code for the simulator, preferable 2-up in landscape mode.(10 points) Each student/pair must provide a high-level functional analysis and design of the program describing the functionality of the major components of the program and how they interact with each other, and a more detailed analysis and design for the data structures and algorithms used in the memory management portion of the program. (10 points) Each student/pair must provide the results of running their simulation using the test files provided on csserver in /home/hwang/cs470/project4 (to be released on or before April 6) for 10, 50, and 100 physical frames. Each student/pair should produce a summary table showing the number of page faults generated for each strategy for each number of frames (nine values in all) for each file. The files will exhibit varying degrees of locality and number of processes. A README file will be placed in the directory explaining each file. In addition, each student/pair should answer the following questions: 1. Which replacement strategy would you choose and why? You should consider both the end results and the effort it took to implement each strategy. Discuss what your results show about the relative merits of FIFO, LRU, and OPT for the different input files. 2. What aspect of memory management did you find most difficult to implement? 3. What aspect of memory management did you find least difficult to implement? 4. What, if anything, would you change in your current design? 5. What, if anything, did you find interesting or surprising about page replacement algorithms that you did not know before doing this project? 03/23/2007


View Full Document
Loading Unlocking...
Login

Join to view Memory Management Project and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Memory Management Project and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?