Read "The UNIX Time-Sharing System (PDF)" by Dennis Ritchie and Ken Thompson. Recitation 5 will focus on the last half of the paper (starting with section 5).
After reading section 5, you should understand the basics of processes in UNIX (e.g., how fork() works, how memory is shared, how processes communicate). After reading section 6, you should understand the basics of the shell. For instance, you should be able to describe what happens if you type sh into the UNIX shell (how many processes would be running?). Sections 7–10 wrap up the authors' discussions on UNIX.
As you read, think about the following:
- What 6.033 concepts are exemplified by UNIX?
- What design principles, or objectives, do you think the authors were following as they developed UNIX?
Questions for Recitation
Before you come to this recitation, write up (on paper) a brief answer to the following (really—we don't need more than a couple sentences for each question).
Your answers to these questions should be in your own words, not direct quotations from the paper.
- What does the UNIX shell do?
- How does it work?
- Why is it useful?
As always, there are multiple correct answers for each of these questions.