COP 4600 - Operating Systems Principles

Spring 2010


Professor Sumi Helal


Homework Assignment 6, due: March 30, 2010


Answers should be typeset and printed. Only hard copies are accepted. Non-typeset answers will not be accepted. Make sure you include your name and UFID on first page. Answers should be placed on instructorÕs desk before the class begins on the due date.

Refer to the textbook (Silberschatz, Galvin, Gagne: Operating System Concepts, 8th Edition).

Q1 (9.21, pp 412)

Assume we have a demand-paged memory. The page table is held in
registers. It takes 8 milliseconds to service 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. Memory access time is 100 nanoseconds.
Assume that the page to be replaced is modified 70 percent of the
time. What is the maximum acceptable page-fault rate for an effective
access time of no more than 200 nanoseconds?

Q2 (9.22, pp 413)

When a page fault occurs, the process requesting the page must block
whilewaiting for the page to be brought fromdisk into physicalmemory.
Assume there exists a process with five user-level threads where the
mapping of user threads to kernel threads is many:one. If one user
thread incurs a page fault while accessing its stack, would the other
user user threads belonging to the same process also be affected by the
page fault (i.e., would they also have to wait for the faulting page to be
brought into memory?) Explain.

Q3 (9.24, pp 413)

Assume that you are monitoring the rate at which the pointer in the
clock algorithm (which indicates the candidate page for replacement)
moves. What can you say about the system if you notice the following

a. pointer is moving fast
b. pointer is moving slow

Q4 (9.28, pp 414)

Consider a demand-paging system with the following time-measured

CPU utilization 20%
Paging disk 97.7%
Other I/O devices 5%

For each of the following, say whether it will (or is likely to) improve
CPU utilization. Explain your answers.

a. Install a faster CPU.
b. Install a bigger paging disk.
c. Increase the degree of multiprogramming.
d. Decrease the degree of multiprogramming.
e. Install more main memory.
f. Install a faster hard disk or multiple controllerswith multiple hard
g. Add prepaging to the page fetch algorithms.
h. Increase the page size.

Q5 (9.32, pp 415)

Consider a demand-paging system with a paging disk that has an average
access and transfer time of 20 milliseconds.Addresses are translated
through a page table in main memory,with an access time of 1 microsecond
per memory access. Thus, each memory reference through the page
table takes two accesses. To improve this time, we have added an associative
memory that reduces access time to one memory reference, if the
page-table entry is in the associative memory.
Assume that 80 percent of the accesses are in the associative memory
and that, of those remaining, 10 percent (or 2 percent of the total) cause
page faults. What is the effective memory access time?

Q6 (9.33, pp 415)

What is the cause of thrashing? How does the system detect thrashing?
Once it detects thrashing, what can the system do to eliminate this