MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

Readings

Help support MIT OpenCourseWare by shopping at Amazon.com! Partnering with Amazon.com, MIT OCW offers direct links to purchase the books cited in this course. Click on the book titles and purchase the book from Amazon.com, and MIT OCW will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses.

Unless otherwise specified, readings referenced below are from the course textbook: Lions, John. Lions Commentary on UNIX® 6th Edition. La Jolla: Annabooks, 1996. ISBN: 1573980137. The source code for the book is also available online (download and look in usr/sys) through the PDP Unix Preservation Society. In addition to the readings assigned below, there are other general readings recommended for the course.


LEC # TOPICS READINGS
Week 1
1 Operating System Overview Chapters 1, 3, 4, and 5 of Lions.
Week 2
2 PC Hardware and x86 Programming Carter, Paul A. PC Assembly Language. January 15, 2002. [Except Chapter 6.]
3 Address Spaces Chapters 2 and 6 Lions plus source code.
Week 3
4 Managing Address Spaces Chapter 6 and Pages 7-1 through 7-4, first column.
5 Address Spaces on the x86 "Protected-Mode Memory." Chapter 3 in The IA-32 Intel® Architecture Software Developer's Manual (System Programming Guide). Vol. 3. 2002. [Includes: Basic Architecture, Instruction Set Reference Manual, and the System Programming Guide.]
Week 4
6 Threads and Context Switching Remainder of Chapters 7 and 8 of Lions plus source code.
Week 5
7 Entering and Leaving Kernel Chapters 9, 10, 11, and 12 (until sys1.c) of Lions plus source code.
8 Interrupt and Exception Handling on x86 "Interrupt and Exception Handling." Chapter 5 in The IA-32 Intel® Architecture Software Developer's Manual (System Programming Guide) Vol. 3 (2002). [Includes: Basic Architecture, Instruction Set Reference Manual, and the System Programming Guide.]
Week 6
9 Process Abstraction and Management Chapter 7 and remainder of Chapter 12 of Lions plus source code.
10 Interprocess Communication Chapters 13 and 21 of Lions plus source code.
Week 7
Mid-term Quiz
No Lecture
Work on Lab 4
No Lecture
Work on Lab 4
11 Kernel API Engler, Dawson R., M. Frans Kaashoek, and James O 'Toole, Jr. "Exokernel: An Operating System Architecture for Application-Level Resource Management." Symposium on Operating Systems Principles. Cambridge, MA: MIT Laboratory for Computer Science. 1995.
12 IPC Liedtke, Jochen. "Improving IPC by Kernel Design." 14th ACM Symposium on Operating System Principles (SOSP). Asheville, North Carolina: 5-8 December 1993.
Week 8
13 Coordination Bershad, Brian N., David D. Redell, and John R. Ellis. "Fast Mutual Exclusion for Uniprocessors." [A version of this paper will appear on the Fifth Symposium on Architectural Supports for Programming Languages and Operating Systems (ASPLOS V), October 1992.]
14 I/O Chapters 15, 16, and 17 of Lions plus source code.
Week 9
15 Files and Directories Chapters 18 and 19 of Lions plus source code.
Week 10
16 Reliable Files and Directories Ganger, Gregory R., M. Kirk McKusick, Craig A. N. Soules, and Yale N. Patt. "Soft Updates: A Solution to the Metadata Update Problem in File Systems." ACM Transactions on Computer Systems 18, 2 (May 2000): 127-153.
17 Buffer Cache and DMA Pai, Vivek S., Peter Druschel, and Willy Zwaenepoel. "IO-Lite: A Unified I/O Buffering and Caching System." ACM Transactions on Computer Systems. Department of Electrical and Computer Engineering, Department of Computer Science, Rice University. 1997.
Week 11
18 Scheduling Mogul, Jeffrey, and K. K. Ramakrishnan. "Eliminating Receive Livelock in an Interrupt-driven Kernel." [This paper was originally published in the Proceedings of the USENIX 1996 Annual Technical Conference, San Diego, California. January 1996.]
Week 12
19 Virtual Machines Bugnion, Edouard, Scott Devine, and Mendel Rosenblum. "Disco: Running Commodity Operating Systems on Scalable Multiprocessors." In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. Saint-Malo, France: October 1997.
20 Extensibility Swift, Michael M, Brian N. Bershad, and Henry M. Levy. "Improving the Reliability of Commodity Operating Systems." Symposium on Operating Systems Principles. Seattle, WA: Department of Computer cience and Engineering, University of Washington.
Week 13
21 Operating System Bugs
OS Bakeoff
Last Day of Classes
Engler, Dawson, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. "Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code." Symposium on Operating Systems Principles. Stanford, CA: Computer Systems Laboratory, Stanford University, 2001, pp. 57-72.
Week 14
Quiz 2

General Reading Materials

  • PDP11/40 Processor Handbook. Digital Equipment Corporation. 1972.
  • Ritchie, Dennis M., and Ken L.Thompson. Bell System Technical Journal 57, 6, part 2 (1978): 1905-1930. (You read this paper in 6.033.)

Lab Background Material