|
UC Berkeley Operating System Prelims
Fall 2001
|
Berkeley OS Prelim Questions from Fall 2000 - Fall 2001!
|
Note that all of these questions are based on post-hoc recollections of people who took the exam. They probably reflect the reporter's interpretations of the questions, which means that most of the questions in their original form were far more obscure, ambiguous, and terrifying than what appears here.
|
Fall 2001 (Smith and Wagner) |
|
|
Recollection #1
- [Smith] Talk about viruses generally. How come PCs seem to
have a lot more of them than UNIX (on UNIX you only hear about
worms)? What kinds of viruses do you see? [Wagner] What changes
would you make to prevent virus damage?
- [Wagner] You have a system where memory chips can be
unavailable for 5-6 seconds at a time; this happens about once a
minute. Data isn't lost, but you get an error message on
reads/writes during this period. What changes could you make to
the OS to circumvent the problem? What if you had one known good
chip? What if during the 5-6s period, the chip returned random
data for reads and might ignore writes?
- [Smith] Network-Attached Storage is a box with disks you can
plug in to your Ethernet. What are the implications of doing this
to increase storage vs. adding more disks to an existing box?
Recollection #2
- [Smith] Can you have viruses on UNIX? What is a virus? Why
can you have viruses on Windows?
- [Wagner] Right now we have smart disk controllers that
reorder requests, etc. Let's say we have smart memory chips.
Unfortunately, the chips are faulty -- they fail every 10 seconds
and take a few minutes to reboot. What can you do about this
problem? Now let's say that you get an interrupt each time a
memory chip fails. What kind of support do you need for all of
this? What if one of the memory chips is guaranteed not to fail?
What if the chips return bad data?
- [Smith] What is network-attached storage? How would you
design a system for network-attached storage? The
network-attached storage appears to be local disk. What are the
implications of this? How fast is local disk access? How would
you make network-attached storage fast? [Wagner] What are the
security implications of network-attached storage?
Recollection #3
- [Smith] What is it about UNIX and PC's (did not specify the
OS) that cause UNIX systems to be attacked by worms and PC by
virus? What are the aspects of a worm and a virus? (which was
more a helping question) What is different about PCs OS and Unix
that makes one more susceptible to than another?
[The desired answer, according to Smith at the end, was that
on UNIX separate data and executable into different files and
Windows does not].
- [Wagner] Given large intelligent memory components that have
a lot of intelligence - that have the property of being on line on
the order of a minute and then becoming unavailable (does not
provide or receive data) for 6-10 seconds. What are the design
issues with this? How would you design an OS to support this
system? He allowed that there would be enough memory to have
multiple copies of data in different intelligent components. As a
follow up, he asked what would happen and how would you detect the
situation that the components would actually start returning
incorrect data rather than just not respond. Assuming you know
the component if flaky how to you handle it in the OS?
[The answers range from redundant components, using parity and
ECC across components, and voting for the correct answer. Also
MTBF and MTTI calculations. The answer to that last question was
to make the page as "non-existent"]
- [Smith] Smith asked for the design issues associated with a
Network Attached Storage. What are the issues if the NAS is
really a full file-system instead of just a block device? The
network-attached storage appears to be local disk. What are the
implications of this? How fast is local disk access? What are the
issues with providing high performance for NAS? [Wagner] What are
the security implications of network-attached file system?
|
|
|
|
Spring 2001 (Smith and Wagner) |
|
|
- [Wagner] What would happen if the seek time of a disk
increased tenfold? (Looking for: changes in disk-scheduling
algorithms, LFS)
What are some problems with LFS? (complicated, not good
for reads)
Random useless aside from Smith: What is the expected
distance between two random cylinders? (1/3r -- Smith himself
admitted this wasn't a fair question for an OS prelim, but I'm
pretty sure that didn't stop him from marking me down)
What if there were a big NVRAM cache in front of the disk?
(speeds up writes a lot, renders LFS useless)
What if the cache weren't NV? (loss of durability
guarantees)
What if the whole disk system were 10x slower, but the CPU
were 10 times faster?
Random aside from Smith: Are any systems I/O bound? Lots
of research systems are (like sensor networks in smart dust),
but since these were developed in the last 10 years, Smith
doesn't know or care about them. No production systems are
I/O bound, since they use lots of techniques to get over the
I/O bottleneck.
- [Smith] What assembly language instructions and registers are
protected? (Looking for: setting the time, changing mode, changing
registers which hold addresses of PT, interrupt handler, the
actual PT, status register containing mode and other important
bits)
Random aside from Smith: What is the reason that system
clocks tend to run slow instead of fast? (correcting the clock
ahead instead of backwards guarantees that time always
monotonically increases)
How does the processor prevent user processes from
executing privileged instructions? (user processes execute in
user mode)
- [Wagner] What infrastructure/services are there between a
user and a web server? (DNS, routing)
[Smith] How do you send email transparently to a mobile
computer? Hint: Smith doesn't know how DNS works, so don't
try to include dynamic DNS as part of your solution. He will
only get confused.
|
|
|
|
Fall 2000 (Brewer and Smith) |
|
|
- [Smith] Describe what happens on a page fault (everything)!
- [Smith] What is a virtual machine? Describe what happens on
a page fault in a virtual machine.
- [Brewer] How is RPC different from a regular procedure call?
Are there any ways to correct these differences?
|
|
|
|