CSE 410 Assignment 6

Spring 2007

Due: In class, Friday 6/1/07

  1. (Silberschatz 8.6) On a system with paging, a process cannot access memory that it does not own. Why? How could the operating system allow access to memory owned by other processes? Would this be a good idea? Why or why not?
  2. (Silberschatz 8.9) Consider a paging system with a single-level page table stored in memory.
    1. If a simple memory reference takes 100 nanoseconds, how long does a paged memory reference take? (Assume that there are no caches involved.)
    2. If we add a TLB (translation lookaside buffer) and 92% of all page table references are found in the TLB, what is the effective memory reference time? (Assume that retrieving a page-table entry from the TLB can be done in zero time if the entry is present.)
  3. (Silberschatz 9.5) Assume that we have a demand-paged memory. Memory access time is 100 nanoseconds. It takes 8 milliseconds to handle a page fault if an empty page is available or the replaced page is not modified, and 20 milliseconds if the replaced page is modified and has to be written out to disk. Assume that the page to be replaced is modified 70% of the time. What is the maximum acceptable page-fault rate (fraction of memory references that generate a page fault) for an effective access time of no more than 200 nanoseconds?
  4. (Silberschatz 9.10) Suppose we have a demand-paging system. It seems to be running slowly and when we measure the percentage of time that parts of the system are in use, we get the following numbers: Which, if any, of the following will probably improve CPU utilization? Explain your answer.
    1. Install a faster CPU
    2. Get a larger paging disk
    3. Get a faster paging disk
    4. Increase the number of active processes
    5. Decrease the number of active processes
    6. Install more main memory