CSE221: Graduate Operating Systems
Fall 2019
Tu/Th 8:00am - 9:20am, Center 214
Homework 1
Due: Thursday, October 24th, 8AM on Gradescope
Answer the following questions. For questions asking for short answers, there may not necessarily be a "right" answer, although some answers may be more compelling and/or much easier to justify. But I am interested in your explanation (the "why") as much as the answer itself. Also, do not use shorthand: write your answers using complete sentences.
- A fundamental aspect of protection in operating systems is rights amplification.
Rights amplification enables a more privileged protection domain to perform an operation
on behalf of a less privileged protection domain in a controlled fashion without violating
protection in the system. For each of the following operating systems, state (a) the protection
domain that they support, (b) the mechanism for crossing protection domains, (c) how rights are
represented, (d) how rights are amplified crossing domains, and (e) how the OS determines whether
to allow the domain crossing.
- Hydra
- Multics
- Unix
- Pilot
1) A protection domain in Hydra is the "local name space" (LNS). An LNS represents the current set of objects and rights to which a process has access, and those objects and rights change when a process moves from one LNS to another.
2) A protection domain in Hydra is the "local name space" (LNS): "At any instant, the execution environment (domain) of a program is defined by an LNS object associated with it...the rights lists in each capability define the permissible access rights of this program at this instant." (Hydra p. 341).
In other words, we're looking for more than just "local name space" -- but at the same time your answers don't have to be lengthy discussions. The balance in the example above is fine. - Some of the systems we have read about and discussed use specialized hardware to facilitate their implementation. Choose one such instance, describe the hardware that was used, and what advantage it gave the system implementors and designers. What is one drawback of relying upon specialized hardware? Do we still use hardware of this form today?
- Pilot made a strong and persuasive argument for tailoring the design and implementation of operating systems to personal computers. We have also seen commercial operating systems like MS-DOS, Windows before NT, and "classic" MacOS tailored towards personal computers as well. Why do you think we still run multi-user timesharing systems like Unix on our PCs? (Consider, for example, the requirements we have of the systems that we use today.)
