CS 503 Spring 2012

HW 0: Features of Modern Operating Systems (60 pts)

Due: 02/01/2012, 11:59 PM

Problem

  1. Describe how isolation/protection is achieved in modern operating systems, distinguishing hardware and software (i.e., OS) support features. Argue why isolation/protection is guaranteed, including any assumptions that are required to do so.
  2. Isolation/protection may also be achieved purely in software without special hardware support. Sketch a solution. Discuss the pros/cons of the two approaches.
  3. Read the article "Introduction and overview of the Multics system" by Corbato and Vyssotsky. Write a 1-page review that discusses the similarities and differences when compared to today's desktop operating systems (e.g., Linux, Windows).
  4. Virtualization where multiple operating systems may concurrently run on a single machine (say x86 PC) has its roots in Turing's universal computer (or Turing machine named in his honor). A universal Turing machine (UTM) is a special computer that takes as input the description of any other computer (i.e., Turing machine) and emulates its behavior so that their outputs match. That is, one gets the same result whether one builds a computer in hardware or emulates it in software by giving its specification as input to a UTM. We call this specification a "program." Since the computer being emulated may itself be universal, we may end up with nested emulations where a UTM A emulates a UTM B that in turn emulates a UTM C (and so forth). How does running Java code on a Java Virtual Machine that, in turn, runs on a Windows PC fit into the picture? What about emulating Windows within Linux that runs on a x86 PC? What are the benefits and drawbacks of virtualization? Can you think of ways to mitigate the drawbacks?

      Write your answers in a file named HW0Answers.txt (if simple text) or HW0Answers.pdf (for PDF files). Please place this file in the /sys directory and turn it in, along with the lab programming assignment. Your answers to 1, 2 and 4 may require 2/3 - 1 page each to give reasonable justice (clarity and accuracy are additional determining factors); 3 can be more brief.


Back to the CS 503 web page