CPSC 508 Winter 2 2020: Quiz #1

45 points: 15 per question

This exam is closed notes, closed papers, closed interwebs, closed everything (open brain).
You have 45 minutes to complete the quiz.
Leave your camera on. (no avatars etc)
Complete the exam on your own (no communication with others -- it's closed everything!).

Please use whatever word processing software that you'd like to write your answers, but please send us either plain text (≤ 80 characters per line), Word, or PDF. We will be grading the quiz blind (that is, we don't want to know whose quiz we are grading), so please do not put your name anywhere in the document you submit. Instead, name the file you send us lastname.{txt,pdf,docx} (where you fill in lastname with your own last name).

Please email your quiz to: mseltzer@cs.ubc.ca and achreto@cs.ubc.ca. (We convert the files to randomly numbered files, grade them, and then convert the names back.)

Here are the papers we've read (alphabetical by author):

  1. Baumann: The Multikernel: A New OS Architecture for Scalable Multicore Systems
  2. Bensoussan: The Multics Virtual Memory:Concepts and Design
  3. Bugnion: Disco: running commodity operating systems on scalable multiprocessors
  4. Corbató: An Experimental 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. Hand: Are Virtual Machine Monitors Microkernels Done Right?
  9. Heiser: Are Virtual-Machine Monitors Microkernels Done Right?
  10. Kilburn: One Level Storage System
  11. Liedtke: On micro-kernel Construction
  12. Meyer: A virtual machine time-sharing system
  13. Rashid: From RIG to Accent to Mach: The Evolution of a Network Operating System,

  1. Historical Context
  2. So far, you've read 13 papers (including the introductory ones). For each quote below:
    1) identify the paper from which it comes (you can identify the paper by its number, e.g., Hand: Are Virtual Machine Monitors Microkernels Done Right? would be 8, by author, e.g., Hand (note that a simple title might not work, as we could not distinguish number 8 from number 9),
    and
    2) write a sentence that explains why it must come from that paper (i.e., just saying, "I remember it," is not sufficient. Explain why the quote uniquely identifies the paper.).

    You may use a paper more than once.

    Quote 1

    "That part of the transfer program which organizes the selection
    of the page to be transferred has been called the "learning" program."

    Quote 2

    "Our first major mistake was that for too long a time we confined
    our attention to 100% perfect installation; by the time we considered
    how to make the best of it, one of the peripherals broke down, we
    were faced with nasty problems. "

    Quote 3

    1. Make all inter-core communication explicit.
    2. Make OS structure hardware-neutral.
    3. View state as replicated instead of shared.

    Quote 4

    Rather than attempting to modify existing operating systems to run
    on scalable shared-memory multiprocessors, we insert an additional
    layer of software between the hardware and the operating system.

    Quote 5

    To reduce the memory overheads associated with running multiple
    operating systems, we have developed techniques where the virtual
    machines transparently share major data structures such as the
    program code and the file system buffer cache.

  3. Evaluation
  4. We have read about many different systems, ranging from early time-sharing to more recent multi-processor operating systems. Imagine that you were writing a paper today and needed to produce an evaluation section comparing Barrelfish, Tornado, and Disco. State a hypothesis that you might reasonably test and outline how you would evaluate that hypothesis.

  5. Evolution of Virtual Memory
  6. We have learned a about virtual memory and how it has evolved over time. In particular we have read about how operating systems used virtual-memory based techniques in their architecture to achieve certain goals or features. Please write a paragraph on how the use of virtual memory has evolved in operating systems with references to Multics, Atlas, L3, and Mach. The paragraph should describe the four systems in chronological order and identify the virtual memory concepts used in each system.

Paper Survey

After you complete the quiz, please complete this form .