Princeton University
Computer Science Department

Computer Science 318
Operating Systems

Jaswinder P. Singh

Fall 2019


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

Monday & Wednesday, 11:00am - 12:20pm, Computer Science Building 104

Precepts:

Monday, 7:30pm - 8:20pm, Computer Science Building 104

Tuesday, 7:30pm - 8:20pm, Computer Science Building 105

Professor:

Jaswinder P. Singh, Computer Science Building 324, Phone: 8-5329, Email: jps@cs.princeton.edu

Office Hours: Monday, 1:30pm - 3:00pm

Undergraduate Coordinator:

Colleen Kenny-McGuinley, Computer Science Building 210, Phone: 8-1746, Email: ckenny@cs.princeton.edu

Graduate Teaching Assistants:

Name Email Room Office hours
James Heppenstall jwmh@princeton.edu Friend 010 Wednesday, 5:00pm - 7:00pm
Haochen Li haochenl@princeton.edu Friend 010 Thursday, 3:00pm - 5:00pm
Samuel Ginzburg ginzburg@princeton.edu CS 003 Monday, 3:00pm - 5:00pm
Ziyang Xu ziyangx@cs.princeton.edu Friend 010 Tuesday, 4:00pm - 6:00pm

Undergraduate Teaching Assistants:

Name Email Room Office hours
Jackson Neus jneus@princeton.edu Friend 010 Friday, 1:00pm - 3:00pm
Lucas Salvador ls24@princeton.edu Friend 010 Saturday, 2:00pm - 4:00pm
Reilly Bova rbova@princeton.edu Friend 010 Sunday, 3:00pm - 5:00pm

Prerequisites

COS 217 & 226 or instructor's permission.


Textbook

Andrew S. Tanenbaum and Herbert Bos, Modern Operating Systems, 4th edition, Prentice Hall, 2014.


Course Reserves and Online Materials

Frank Van Gilluwe, The Undocumented PC : A Programmer's Guide to I/O, CPUs, and Fixed Memory Areas. On reserve in Engineering Library.

Tom Shanley, Protected Mode Software Architecture / MindShare, Inc. On reserve in Engineering Library.

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


Announcements

The main venue for course announcements and questions will be Piazza. Enroll here.

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