Computer Science | School of Engineering | UC Santa Cruz
Home | Syllabus | Schedule | Reading List | Project | Grades | Feedback

CMPS 221: Advanced Operating Systems
Fall 2002

Final Exam

This take-home exam is open book and open note. Your exam should be formatted in either ASCII (no text lines over 75 characters) or PDF. I expect that your answer for each question will be 1–2 pages long, though you may have a longer or shorter answer if you feel it appropriate. Please put your name at the top of each page if you're using PDF (you can put it into the document header if you like; the LaTeX package fancyhdr supports this well, as does M$ Word).

You may use any reference material you want, as long as you cite it. Note, however, that I may take off points for using inappropriate reference material you obtained from your friend in class. On the other hand, papers and other material from the Web are fine, as long as you cite the source. Just make sure you don't copy large chunks of text (even if you attribute them)—that's also a no-no.

The exam is due by email to cs221@cs.ucsc.edu at 5 PM PST on Wednesday, December 4th.

Question 1

Security is a major concern in single-address-space operating systems. One proposed solution is "security by obscurity," in which the operating system has a single, very large address space. Rather than use security hardware, objects are hidden by placing them at random locations in the very large address space, and security comes from not knowing where to look.

  • How large an address space would be needed to make this effective? Back up your answer with estimates and back-of-the-envelope calculations. Would it be effective to have such a large address space? What are the potential problems?
  • Assume that the basic mechanics of the scheme are fine—a process can't find objects by looking in the system page table. What other security issues are there for this approach? Can they be solved?

Question 2

Compare and contrast at least four different approaches to ensuring file system consistency. You can find at least three approaches in the papers we read in class (for example, LFS, XFS, and WAFL); you'll need to find a fourth approach using CiteSeer or other research techniques. What are the similarities between the approaches? How are they better (or worse) than simply allowing the file system to become inconsistent and then fixing it when an error occurs?

Question 3

Reliability has become a critical issue for very-large-scale distributed systems. If you need reliability figures, get them from the Microsoft Farsite papers (we've read one in class; there are others if you need more information).

  • What are the most common sources of errors? Does redundancy alone fix them, or are other techniques necessary?
  • In your opinion, is it more difficult to build a complex system to work around errors, or just to stamp them out in the first place? Justify your answer.
  • Are there different "types" of reliability? In other words, are diifferent levels of reliability needed for different operating systems services? Explain.

Last updated Thursday, 21-Nov-2002 11:03:30 PST by Ethan L. Miller (elm@cs.ucsc.edu)