CMSC 412
Midterm #2 (Spring 2002)
1.)
Virtual Memory (20 points)
a)
Why would it be a bad idea to use a 2-level page table (page
directory and page table) for a processor that supports 64-bit memory addresses
(using a 4KB page size)?
b)
Explain what is Belady’s anomaly and how it occurs.
2.)
(20 Points) Given an
implementation of counting semaphores (semaphores whose values range from 0 to
some positive integer), implement binary semaphores (semaphores whose value is
either 0 or 1).
Pbinary:
Vbinary:
3.)
(25 points) Filesystems
a)
Why can a hybrid index allocation strategy support random
access to a file easier than a linked allocation scheme?
b)
Explain how an Access Control List of users is both similar
and different than a group.
c)
Given a filesystem that supports only one directory (i.e. it’s
not possible to create sub-directories) and 8 character filenames, explain how
you could write a user level library that simulates hierarchical directories.
4.)
(20 points) Disk and
I/O Systems
a)
Explain what the term variable geometry disk means.
b)
If a disk spins at 7200 RPM, what is the average rotational
latency in milliseconds?
5.)
(15 points) Project
a)
Explain why it is possible to use a single LDT for all
user processes in the project once the paging code for project #3 is done.
b)
How is the semaphore code from project #2 able to have
multiple processes call createSemaphore for the same semaphore without causing
a problem?