Homework 4

22C:116, Fall 1997

Due Friday Sept. 19, 1997, in class

Douglas W. Jones

Background Consider the following MMU interface:

Homework Assignment
  1. Given the above assumptions, outline an appropriate data structure for the virtual address map (page table) and frame table, with the intent that this data structure support modified clock replacement with software management of both mark and dirty bits. Assume that your entire data structure can be maintained in main memory!

  2. Given your answer to the above question, outline (in detailed pseudocode) the page fault handler you would use.

  3. Discuss how you would modify your answers to the above questions if the virtual address map was so large that it was not practical to fit the address map entirely in main memory.

  4. Assuming your system has multiple processes, and that you wish to run one process while disk I/O for page faults of another process takes place, outline how the scheduler, page fault handler and process manager would interact during the processing of one page fault. That is, what process state changes take place, what code initiates these state changes, and how would you expect the system components to interact.