CS261 Fall 2013: Quiz #2

This exam is closed notes, closed papers, closed everything. Please use whatever word processing software that you'd like to write your answers, but please send me either plain text or PDF. Answers should be emailed to: margo@eecs.harvard.edu.

Here are the papers we've read:

  1. OS Intellectual Heritage
  2. The Spork Operating System was an experimental "network operating system" developed at Magnificent University in some year. The next few paragraphs (taken directly from a Spork paper) describe the key principles behind Spork. Based on those principles, answer the following questions.

    1. Approximately when do you think Spork was developed? Explain how you concluded that.
    2. Write a 1-2 paragraph "related work" section for a paper on Spork, drawing on whatever papers you think might be relevant. (Note that even if you pick a paper that came after it, if you give a good comparison, you'll get pretty much full credit -- I don't want you to try to relate every paper in here, but I also don't want you to stress about guessing the year perfectly.)

    Key Principles of Spork

    The motivation for building a new operating system came from three general trends in computer technology: networks, large memories, and multiprocessors. In more and more research and engineering organizations, computing occurs on personal workstations connected by local-area networks, with larger time-shared machines used only for those applications that cannot achieve acceptable performance on workstations. Unfortunately, workstation environments tend to suffer from poor performance and difficulties of sharing and administration, due to the distributed nature of the systems. In Spork, we hope to hide the distribution as much as possible and make available the same ease of sharing and communication that is possible on time-shared machines.

    The second technology trend that drove the Spork design is the availability of ever-larger physical memories. Today’s engineering workstations typically contain 4 to 32 Mbytes of physical memory, and we expect memories of 100-500 Mbytes to be commonplace within a few years. We believe that such large memories will change the traditional balance between computation and I/O by permitting all of users’ commonly-accessed files to reside in main memory. The ‘‘RAMdisks’’ available on many commercial personal computers have already demonstrated this effect on a small scale. One of our goals for Spork is to manage physical memory in a way that maximizes the potential for file caching.

    The third driving force behind Spork is the imminent arrival of multiprocessor workstations. Workstations with more than one processor are currently under development in several research organizations, and we expect multiprocessor workstations to be available from several major manufacturers within a few years. We hope that Spork will facilitate the development of multiprocessor applications, and that the operating system itself will be able to take advantage of multiple processors in providing system services.

    Some of the interesting features of the kernel implementation are:

  3. Is the Google File System stateful or stateless?
  4. Justify your answer and then write a few sentences explaining why you think this was a good or bad idea.

  5. Virtualization
  6. What, if any, is the difference between virtualizing virtualization hardware (i.e., allowing nested virtualization) and virtualizing regular hardware (i.e., providing virtualization in the first place)? Would you consider the turtles project para virtualization? Why/Why not?