CS261 Fall 2014: Quiz #1

45 points: 15 per question

This exam is closed notes, closed papers, closed interwebs, closed everything.

Please use whatever word processing software that you'd like to write your answers, but please send me either plain text (≤ 80 characters per line) or PDF. Answers should be emailed to: margo@eecs.harvard.edu.

Here are the papers we've read:

  1. Baumann: The Multikernel: A New OS Architecture for Scalable Multicore Systems
  2. Bugnion: Disco: running commodity operating systems on scalable multiprocessors
  3. Corbató: An Experimental Time-Sharing System
  4. Creasy: The Origin of the VM/370 Time-Sharing System
  5. Daley: Virtual Memory, Processes, and Sharing in MULTICS
  6. Dijkstra: The Structure of the "THE" Multiprogramming System
  7. Gamsa: Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System
  8. Kilburn: One Level Storage System
  9. Kivity: OSv-Optimizing the Operating System for Virtual Machines
  10. Leidtke: On micro-kernel Construction
  11. Rashid: From RIG to Accent to Mach: The Evolution of a Network Operating System
  12. Waldspurger: Memory Resource Management in VMware ESX Server

  1. Historical Context
  2. List the papers (by number and author) in as close to chronological order as you can (earliest paper first). That is, if you think that the alphabetical list reflects their chronology, you would write 1(Baumann), 2(Bugnion), 3(Corbato), 4(Creasy), ... 12(Waldspurger).

    Next, take that chronology and insert logical eras, providing a brief (one line) description of the eras. For example:

    Stoneage (people chiseled programs on stone): 1(Baumann), 2(Bugnion), 3(Corbato)
    Bronze age (people wrote programs on pennies): 4(Creasy), 5(Daley), 6(Dijkstra)
    Pre-industrial revolution (computers built computers in castles): 7(Gamsa), 8(Kilburn), 9(Kivity)
    Modern day (people worshiped computers): 10(Leidtke), 11(Rashid), 12(Waldspurger)
    
    If you can give rough time frames for each era, do so.

  3. Reducing memory consumption in virtual machine environments
  4. Although they share an intellectual heritage and both identify memory redundancy as a problem in virtual machine based environments, Disco and VMware ESX take rather different approaches to addressing it. Explain the different approaches the two systems take, citing any similarities, and then offer a justification for why they have each have arrived at their given approach.

  5. Be an OS Architect
  6. The Harvard CS department is building a new computer, the Freakishly Fast Machine (FFM). We are about to embark upon development of an operating system for the machine and we need to select an architecture before doing so. Given the machine description below, select one of the architectures that we've read about (monolithic kernel, microkernel, multikernel, hypervisor with conventional OS, hypervisor with lightweight library OS) and make a case that it is best suited to our machine.

    Machine description:

Survey #1

After you complete the quiz, please complete the form available here.