SES # | TOPICS | READINGS |
---|---|---|
1 | Operating Systems | Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System." AT&T Bell Laboratories Technical Journal 63, no. 6, Part 2 (October 1984): 1577-93. |
2 | PC Hardware and x86 Programming | Carter, Paul A. PC Assembly Language. July 23, 2006. (Note: Do not read chapters 5, 6, and 7.2.) |
3 | OS Organization | Engler, Dawson R., M. Frans Kaashoek, and James O'Toole Jr. "Exokernel: An Operating System Architecture for Application-Level Resource Management." In Proceedings of the 15th ACM Symposium on Operating Systems Principles. New York, NY: ACM Press, 1995. ISBN: 0897917154. |
4 | Address Spaces using Segmentation (Handout) | Read bootasm.S, bootother.S, bootmain.c, main.c, and init.c of xv6. |
5 | Address Spaces using Page Tables (Handout) | The Intel® 80386 Programmer's Reference Manual 1986. Chapters 5 and 6. Read setupsegs in xv6. |
6 | Interrupt and Exception Handling | The IA-32 Intel® Architecture Software Developer's Manual (System Programming Guide). Vol. 3, 2002, chapter 5. (Includes: Basic Architecture, Instruction Set Reference Manual, and the System Programming Guide.) (Note: skip 5.7, 5.8.2, and 5.12.2.) Read trapasm.S, trap.c, syscall.c, and usys.S of xv6. |
7 | Multiprocessors and Locking | Read spinlock.c and skim mp.c of xv6. |
8 | Processes and Context Switching | Read proc.c, setjmp.S, and sys_fork (in sysproc.c) of xv6. |
9 | Processes and Coordination | Read remainder of proc.c and sys_exec, sys_sbrk, sys_wait, sys_exit, and sys_kill of xv6. |
10 | Files and Disk I/O | Read iread, iwrite, filewrite, fileread, wdir, mknod1, and code related to these system calls in fs.c, bio.c, ide.c, and file.c of xv6. |
11 | Naming | Read namei in fs.c (and remainder of fs.c), sysfile.c, and file.c of xv6. |
12 | High-performance File Systems | 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. |
Mid-term Quiz | ||
13 | Multics and Unix | Corbató, F. J., J. H. Saltzer, and C. T. Clingen. Multics - The First Seven Years. Presented at the Spring Joint Computer Conference, 1972. Montvale, NJ: The American Federation of Information Processing Societies Press, 1972. |
14 | Abstraction of OS Services | Pike, Rob, Dave Presotto, Sean Dorward, Bob Flandrena, Ken Thompson, Howard Trickey, and Phil Winterbottom. Plan 9. 4th ed. Murray Hill, NJ: Bell Laboratories. |
Hacking Day | ||
Hacking Day (cont.) | ||
15 | Microkernels | Liedtke, Jochen. "Improving IPC by Kernel Design." 14th ACM Symposium on Operating System Principles (SOSP). Asheville, North Carolina: 5-8 December 1993. |
16 | 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. |
17 | 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, CA: January 1996.) |
18 | Scalable Coordination | Mellor-Crummey, John M., and Michael L. Scott. "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors." ACM Transactions on Computer Systems 9, no. 1 (January 1991): 21-65. |
19 | Shell for 6.828 Kernel | Duff, Tom. "Rc - The Plan 9 Shell." (PDF)# Haahr, Paul, and Byron Rakitzis. "Es: A Shell with Higher-order Functions." In USENIX Technical Conference Proceedings (Winter 1993): 51-60. |
20 | Security: OKWS | Krohn, Maxwell. "Building Secure High-Performance Web Services with OKWS." In Proceedings of the USENIX 2004 Technical Conference. Boston, MA: June 27-July 2, 2004, pp. 185-198. (PDF)# |
21 | XFI | Erlingsson, Úlfar, Martín Abadi, Michael Vrable, Mihai budiu, and George C. Necula. "XFI: Software Guards for System Address Spaces." Presented at the Symposium on Operating System Design and Implementation (OSDI), Seattle, WA, November 6-8, 2006. |
22 | OS Bugs | 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. |
Hacking Day | ||
23 | OS Bakeoff | |
Quiz 2 |