Please answer the questions concisely. The answer to the first two questions might be a couple of sentences but all others can be answered with a short sentence or a short list. You will get no credit for long winded answers.
Please remember to submit your assignment as plain text, in-line HTML on sakai, or pdf (if necessary) only. You will get no credit and no second chance to resubmit any Microsoft Word, Apple Pages, or other formats that will require me to run an application to read your submission.
Pay attention to the deadline and strive to get your submission well before that time to allow for any last-minute glitches. No extensions will be given.
Week 1 lecture notes.
In particular, read:
- Text (2nd ed): Chapter 1 –
pages 3-49 (sections 1-1.13).
The goal is to become familiar with the terms introduced in these sections.
- The UNIX Time-Sharing System, Dennis M. Ritchie and Ken Thompson, Bell Laboratories, 1974 (HTML version)
- Microkernels, Wikipedia article
Read the notes on booting.
Why does UEFI (the Unified Extensible Firmware Interface) not need to load a first-stage boot loader from the Master Boot Record (MBR) and why did the BIOS need to do so?
Read the Wikipedia Microkernel article.
(a) What is the main advantage of the microkernel approach to system design?
(b) How do user programs and system services interact in a microkernel architecture?
Read The UNIX Time-Sharing System. It's
a 40+ year-old paper that describes UNIX in its early days and in many ways defines the key
principles of UNIX and its offshoots, such as Linux, Solaris, BSD (FreeBSD, NetBSD, OpenBSD), and OS X.
Note the amount of memory that a
full-featured UNIX installation required at that time.
(a) By approximately how much did the size of the UNIX system increase when it was rewritten in C in 1973?
(b) What is a path name?
(c) What are three advantages to treating devices as files within the file system?
(d) What is the purpose of a set-user-ID bit in a file's permissions?