Homework 6
Due 3/2/2012 [start of section]
Problem 1
Suppose a program references pages in the following sequence:
ACBDBAEFBFAGEFA
Suppose the computer on which this program is running has 4 pages of
physical memory.
-
Show how LRU-based demand paging would fault pages into the four
frames of physical memory.
-
Show how OPT (or MIN) based demand paging would fault pages into
the four
frames of physical memory.
-
Show how clock-based demand paging would fault pages into the
four frames
of physical memory.
Problem 2
Assume that you have a page reference string for a process.
Let the page reference string have length p with n
distinct page numbers occurring in it. Let m be the
number of page frames that are allocated to the process
(all the page frames are initially empty). Let
n > m.
- What is the lower bound on the number of page faults?
- What is the upper bound on the number of page faults?
Hint: Your answer is independent of the page replacement
scheme that you use.
Problem 3
Belady's anomaly: Intuitively, it seems that the
more frames the memory has, the fewer page faults a program will
get.
Surprisingly enough, this is not always true. Belady (1969)
discovered an
example in which FIFO page replacement causes more faults with four
page
frames than with three. This strange situation has become known as
Belady's anomaly.
To illustrate, a program with five virtual pages numbered from 0 to
4
references its pages in the order:
0 1 2 3 0 1 4 0 1 2 3 4
-
Using FIFO replacement, compute the number of
page faults with 3 frames. Repeat for 4 frames.
-
Compute the number of page faults under LRU, NRU,
the clock algorithm, and the optimal algorithm.
Problem 4
Consider the following piece of code which multiplies
two matrices:
int a[1024][1024], b[1024][1024], c[1024][1024];
multiply()
{
unsigned i, j, k;
for(i = 0; i < 1024; i++)
for(j = 0; j < 1024; j++)
for(k = 0; k < 1024; k++)
c[i][j] += a[i,k] * b[k,j];
}
Assume that the binary for executing this
function fits in one page, and the stack also fits in one page.
Assume further that an integer requires 4 bytes for storage.
Compute the number of TLB misses if the page size is 4096 and the TLB has
8 entries with a replacement policy consisting of LRU.
Discussion Problem
Everyone should attempt this problem before the discussion section, but no one is required to turn it in.
- A computer system has a page size of 1,024 bytes and maintains the page
table for each process in main memory.
The overhead required for doing a lookup in the page table is 500 ns.
To reduce this overhead, the comnputer has a TLB that caches 32 virtual pages
to physical frame mappings. A TLB lookup requires 100ns.
What TLB hit-rate is required to ensure an average virtual address
translation time of 200ns?
- Discuss the issues involved in picking a page size for a virtual memory
system.
- Name one issue that argues for small page sizes?
Name two that argue for large page sizes?
- How do the characteristics of disks influence the selection of a page
size?
Discussion Problem
Everyone should attempt this problem before the discussion section, but no one is required to turn it in.
Bryant and OHallaron CSAPP (first edition) Problem: 10.19