1995 Problem Set
Problem 1 (15 Points)
You have gotten a job with a company that is building a large
scale shared memory multiprocessor (hundreds of processors) and
you have been put in charge of the operating system effort for
the machine. An old-timer at the company claims it is time for
the return of virtual machines. Rather thanmake the current
operating system scale to hundreds of CPUs, the old-timer argues
you should build a fancy virtual machine monitor and run
multiple copies of your existing operating system. The
suggestion is that you could have one virtual machine for each
user or set of users.
You think that this old-timer is nuts. You believe the
company should support a large operating system to modify the
existing OS to run the entire machine. To support your plan, you
write a memo to convince everyone that the virtual machine
approach is wrong. Describe the major problems/disadvantages of
the virtual machine approach that you would include in the memo.
Problem 2 (15 Points)
There seems to be disagreement in the operating system research
community about exactly what functionality belongs in a
"micro-kernel" and what functionality belongs in user-level
servers. Assume that you have been given the job of designing a
micro-kernel. What criteria would you use in deciding what
should go inside the kernel. Along with your criteria, include
examples of functionality you would and would not include in the
kernel.
Problem 3 (15 Points)
You decide to get a CS Ph.D. specializing in operating systems
but the advisor you hook-up with is having a problem getting you
a good topic. The advisor keeps coming up with interesting
"solutions" but can't determine a good problem to solve them
with. For the following "solution", describe an interesting
problem it could be used to attack (This description should be
like the basic motivation section of a paper you write on the
solution). Also include a list of changes to the operating
system (if any) you would need to take advantage of this
solution.
"No-fault memory operations" -- Special load and store
instructions that behave like normal loads and stores if the
memory address would not fault (take a TLB miss or page
fault). If the instruction would fault (TLB miss/page fault),
the instruction doesn't take the exception or perform the
operation. Instead the non-fault instruction returns a condition
that could be tested on the next instruction.
Problem 4 (15 Points)
Operating system designers have been arguing about what
operating system differences (if any) are appropriate between
large timeshared machines and personal computers. The argument
goes that certain subsystems needed for multi-user machines are
not appropriate for personal computers. For each of the OS
functionality/subsystem below, argue if there is still a need
for the functionality in a personal computer. (You may argue for
or against the feature in PCs but you need to be convincing).
(a) Virtual memory
(b) Protection