Sample questions for the Final
The sample questions are indicative of the level of difficulty - not coverage.
Approximately 10% of the questions in the final will be from midterm topics.
You can bring one letter-sized sheet having notes in your own handwriting
to the final. Sharing of notes is not permitted.
- A file system checker has uses two counters for each disk block: inUse
and free. After a pass, the counters have the following values:
inUse: 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0
free: 0 0 0 1 1 1 0 0 0 1 0 1 1 0 1
What are the errors?
- What are the activities of the kernel when a file is
opened?
- A distributed system using mailboxes has two IPC primitives: SEND
and RECEIVE. The latter primitive specifies a process to receive from, and
blocks if no message from that process is available, even though messages
may be waiting from other processes. There are no shared resources, but
processes need to communicate about other matters. Is deadlock possible?
Discuss.
- A computer system has six tape drives, with n processes competing
for them. Each process may need two drives. For which values of n is
the system deadlock free?
- Consider a system that supports 5000 users. Suppose you want to allow
4990 of those users to access one file.
- How would you specify this protection scheme in Unix?
- Could you suggest a better protection scheme?
- Instead of copying an executable to the swap area and paging from it,
some system page it directly from the file system. What are the
disadvantages of this approach?
- Consider the following sequence of memory references from a 460-byte
program:
10, 11, 104, 170, 73, 309, 185, 245, 246, 434, 458, 364
Assume a page size of 100 bytes.
What are the reference string and distance strings for LRU algorithm?
- Explain why it is easier to share a reentrant module using segmentation
than it is to do do when pure paging is used.
- Semaphore waiting lists are often implemented as queues served in
FIFO order. Could they be implemeted as stacks? What problems might this
implementation cause?