CSC 553 - Operating Systems

Dr. R. M. Siegfried

Assignment #8 - p. 393/8.1, 8.4

Due Tuesday, October 31, 2023

8.1

Suppose the page table for the process currently executing on the processor looks like the following. All numbers are decimals, everything is numbered starting from zero, and all addresses are memory byte addresses. The page size is 1024 bytes.

Virtual Page # Valid bit Reference bit Modify bit Page Frame #
0 1 10 4
1 1 11 7
2 0 00 -
3 0 00 2
4 0 00 -
5 1 01 0
  1. Describe exactly how, in general, a virtual address generated by the CPU is translated into a physical main memory address.
  2. What physical address, if any, would each of the following virtual addresses correspond to? (Do not try to handle any page faults, if any.)
    1. 1052
    2. 2221
    3. 5499

8.4

Consider the following string of page references:
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2

Complete a figure 8.14 (on slide 52) showing the frame allocation for :

  1. FIFO (First-in-First-Out)
  2. LRU (Least-Recently-Used)
  3. Clock
  4. Optimal (assuming the reference string continues with 1, 2, 0, 1, 7, 0, 1)
  5. List the total number of page faults and the miss rate for each policy. Count page faults only after all frames have been initialized.

    [Back to the Assignments Index]