CS439: Principles of Computer Systems
Due: 7:45a Thursday, October 17, 2013 Homeworks
must be submitted electronically. Please refer to the
homework turnin instructions.
Pages have (at least) the following three bits associated with them:
the resident bit, the clock/reference bit, and the dirty bit.
Describe each bit and its use.
In class, we discussed that paging may increase
internal fragmentation. What is internal fragmentation? What steps
could you take to reduce it?
Sam P. Hacker is a Head Guru in a software company known for
operating systems with very sorry quality. Hacker suggested a trick to
reduce the pressure on the swap space. Instead of swapping out pages
that belong to code texts into the swap area, the operating system
could just take away the memory frames. If the code page is needed
later, it could be paged directly from its binary file. Hacker's
argument is that the operating system will save time by not storing
the code page into the swap space, and will save space in the swap
area. The code text exists on disk anyway, and could be fetched from
there. Would you approve of this design? Why or why not?
In a 32-bit machine we subdivide the virtual address into 4 segments
We use a 3-level page table, such that the first
10-bits are for the first level and so on.
What is the page size in such a system?
What is the size of a page table for a process that has 256K of
memory starting at address 0?
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 and assuming demand paging, compute
the number of page faults with 3 frames. Repeat for 4 frames.
Compute the number of page faults under LRU, the clock
algorithm, and the optimal algorithm. What do you notice?