Courses:

Operating System Engineering >> Content Detail



Study Materials



Readings

This section contains documents that could not be made accessible to screen reader software. A "#" symbol is used to denote such documents.

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

Some of the readings require the xv6 code (PDF), which is provided courtesy of Frans Kaashoek, Robert Morris, and Russ Cox and is used here with permission.

6.828 is inspired by what Lions did for Unix® version 6:
Lions, John. Lions' Commentary on UNIX® 6th Edition with Source Code. San Jose, CA: Peer-to-Peer Communications, 1996. ISBN: 1573980137.


SES #TOPICSREADINGS
1Operating SystemsRitchie, 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.
2PC Hardware and x86 ProgrammingCarter, Paul A. PC Assembly Language. July 23, 2006. (Note: Do not read chapters 5, 6, and 7.2.)
3OS OrganizationEngler, 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.
4Address Spaces using Segmentation (Handout)Read bootasm.S, bootother.S, bootmain.c, main.c, and init.c of xv6.
5Address Spaces using Page Tables (Handout)

The Intel® 80386 Programmer's Reference Manual 1986. Chapters 5 and 6.

Read setupsegs in xv6.

6Interrupt 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.

7Multiprocessors and LockingRead spinlock.c and skim mp.c of xv6.
8Processes and Context SwitchingRead proc.c, setjmp.S, and sys_fork (in sysproc.c) of xv6.
9Processes and CoordinationRead remainder of proc.c and sys_exec, sys_sbrk, sys_wait, sys_exit, and sys_kill of xv6.
10Files and Disk I/ORead 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.
11NamingRead 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
13Multics and UnixCorbató, 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.
14Abstraction of OS ServicesPike, 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.)
15MicrokernelsLiedtke, Jochen. "Improving IPC by Kernel Design." 14th ACM Symposium on Operating System Principles (SOSP). Asheville, North Carolina: 5-8 December 1993.
16Virtual MachinesBugnion, 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.
17SchedulingMogul, 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.)
18Scalable CoordinationMellor-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.
19Shell 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.

20Security: OKWSKrohn, 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)#
21XFIErlingsson, Ú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.
22OS BugsEngler, 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
23OS Bakeoff
Quiz 2

 








© 2010-2017 OpenHigherEd.com, All Rights Reserved.
Open Higher Ed ® is a registered trademark of AmeriCareers LLC.