DOC PREVIEW
UE CS 470 - CS 470 ­ Operating Systems Memory Management Project

This preview shows page 1 out of 2 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 2 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 2 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 470 - Operating SystemsSpring 2010 - Memory Management Project40 pointsOut: March 17, 2010Due: April 5, 2010 (Monday after Easter)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. There will be one reference per line of the file. For example, the following might be the beginning of an input file: 1 451 461 451 441 452 452 462 472 472 46This reference string corresponds to Process 1 accessing its pages 45, 46, 45, 44, and 45, then Process 2 accessing its pages 45, 46, 47, 47, and 46. We will assume a pure demand paging system (i.e., 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 6 page faults for LRU and 7 page faults for FIFO. The input file name and the number of physical frames may be entered interactively or on the command-line. For 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 03/18/2010 Page 1 of 2replacement 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 March 26) 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? What to SubmitSubmit items no later than 4:30pm on the due date.Create a tarfile containing the following:● All source code for project● Makefile, if needed● All output files from simulation runs (total of 48 files)Submit this tarfile electronically by emailing it as an attachment to the instructor. Submit the following items in hardcopy:● A printout of well-documented code for your project● The functional analysis and design of your project● Printouts of the summary tables as specified in the README file● Answers to the questions above03/18/2010 Page 2 of


View Full Document

UE CS 470 - CS 470 ­ Operating Systems Memory Management Project

Download CS 470 ­ Operating Systems Memory Management Project
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS 470 ­ Operating Systems 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 CS 470 ­ Operating Systems Memory Management Project 2 2 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?