Princeton University
Computer Science Department

Computer Science 318
Operating Systems

Kai Li
Andy Bavier

Fall 2013

General Information | Schedule | Projects | Policies

Course Summary

An introduction to operating systems. Emphasis is on the fundamentals of how to design and implement an operating system. Topics include operating system structure, processes, threads, synchronizations, concurrent programming, interprocess communications, virtual memory, I/O device management, and file systems.

Administrative Information

Lectures: Tue & Thu 13:30-14:50, Computer Science Building 105

Precept: Tue 19:30-20:20, Computer Science Building 105


Kai Li, Computer Science Building 321, Phone: 8-4637, Email: li at cs

Office Hours: Tue 15:00-17:00 or by appointment, in Computer Science Building 321

Andy Bavier, PlanetLab Consortium office, 221 Nassau Street, Phone: (609) 798-1278, Email: acb at cs

Office Hours: Tue 15:00-17:00 or by appointment, in Computer Science Building 321

Undergraduate Coordinator:

Colleen Kenny-McGuinley, Computer Science Building 210, Phone: 8-1746, Email:

Teaching Assistants:

Name Email Room Office hours
Scott Erickson CS bldg 003 Thu 15:00-17:00 (Friend 010)
Marcela Melara CS bldg 003 Thu 16:00-18:00 (Friend 010)


COS 217 and 226 or instructor's permission.


Andrew S. Tanenbaum, Modern Operating Systems, 3rd edition, Prentice Hall., 2008

Course Reserves and Online Materials

Van Gilluwe, Frank. The undocumented PC : a programmer's guide to I/O, CPUs, and fixed memory areas. On reserve in Engineering Library.

Shanley, Tom. Protected mode software architecture / MindShare, Inc. On reserve in Engineering Library.

IA-32 Intel Architecture Software Developer's Manual, Volume 3: System Programming Guide


The main venue for course announcements and questions will be Piazza: [Enroll in Piazza forum here]

As a backup, some course announcements may be distributed through the course's listserv: [subscribe here].

All students need to enable their UNIX accounts. The instructions can be found here.