CS 503 Spring 2012
HW 0: Features of Modern Operating Systems (60 pts)
Due: 02/01/2012, 11:59 PM
Problem
-
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.
-
Isolation/protection may also be achieved purely in software without
special hardware support. Sketch a solution. Discuss the pros/cons of
the two approaches.
-
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).
-
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