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 Beladys 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).



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. its 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?