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 |
|