CS 3400: Operating Systems
|Aug 23–27||introduction, os interfaces||building and running xv6||xv6 ch 1, 3ep ch 1–2|
|Aug 30–Sep 3||processes and address spaces||xv6 ch 2, 3ep ch 3–5|
|Sep 6–10 (Labor Day)||pc hardware, boot sequence|
|Sep 13–17||page tables||xv6 ch 3, 3ep ch 12–15|
|Sep 20–24||virtual memory, malloc||3ep ch 16–24|
|Sep 27–Oct 1||traps and system calls||xv6 ch 4|
|Oct 11–15 (Fall break)||interrupts and device drivers||malloc and free||xv6 ch 5|
|Oct 18–22||locks and concurrency||xv6 ch 6, 3ep ch 25–30|
|Oct 25–29||semaphores, bugs, event loops||system call: trace exec||3ep ch 31–34|
|Nov 1–5||context switching||xv6 ch 7, 3ep ch 6–7|
|Nov 8–12||scheduling||sharks and divers||3ep ch 8–11|
|Nov 15–19||file systems||scheduler trace||xv6 ch 8, 3ep ch 35–38|
|Nov 22–26 (Thanksgiving)||recovery, RAID||3ep ch 39–46|
|Nov 29–Dec 3||distributed file systems||userspace file system||xv6 ch 9, 3ep ch 47–51|
Changes to the schedule will be announced in class.
“xv6” refers to the xv6 commentary book, our guide to the xv6 operating system source code.
“3ep” refers to Operating Systems: Three Easy Pieces, our (free) primary text.
- Xv6 main landing page
- Examples from class
- Setting up
sshto connect to
cs3400.cs.dixie.eduwithout typing a password:
- Dennis M. Ritchie and Ken Thompson. 1974. The UNIX time-sharing system. Commun. ACM 17, 7 (July 1974), 365–375.
- Mike Accetta, Robert Baron, William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, Michael Young. Mach: A New Kernel Foundation for UNIX Development. USENIX Summer Conference (1986).
- Rob Pike, Dave Presotto, Sean Dorward, Bob Flandrena, Ken Thompson, Howard Trickey, Phil Winterbottom. Plan 9 from Bell Labs.
- John K Ousterhout, Hervé Da Costa, David Harrison, John A Kunze, Mike Kupfer, James G Thompson. A Trace-Driven Analysis of the UNIX 4.2 BSD File System. SOSP 1985.
- Hermann Härtig, Michael Hohmuth, Jochen Liedtke, Sebastian Schönberg, Jean Wolter. The performance of μ-kernel-based systems. SOSP 1997.
- Marshall K McKusick, William N Joy, Samuel J Leffler, Robert S Fabry. A Fast File System for UNIX. ACM Transactions on Computer Systems, Volume 2, Issue 3. August 1984.
- Michael N Nelson, Brent B Welch, John K Ousterhout. Caching in the Sprite Network File System. ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1988, Pages 134-154.
- Mendel Rosenblum, John K Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Trans. on Computer Systems 10(1), February 1992, pp. 26-52.
- David A Patterson, Garth A Gibson, Randy H Katz. A Case for Redundant Arrays of Inexpensive Disks (RAID). SIGMOD ‘88, June 1988.
- Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. Xen and the art of virtualization. SOSP ‘03, October 2003.
- Jean-Pierre Lozi, Baptiste Lepers, Justin Funston, Fabien Gaud, Vivien Quéma, Alexandra Fedorova. The Linux scheduler: a decade of wasted cores. EuroSys ‘16, April 2016.
Last Updated 10/26/2021