Princeton University
Computer Science Department

Computer Science 318
Operating Systems

Jaswinder P. Singh

Fall 2017


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: Mon & Wed 11:00am - 12:30pm, Robertson Hall 100

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

Professors:

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

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

Undergraduate Coordinator:

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

Teaching Assistants:

Name Email Room Office hours
Qizhe Cai qizhec@cs.princeton.edu Friend 010 Tuesday 2:30 - 4:30pm
Lance Goodridge lanceg@princeton.edu Friend 010 Thursday 5:00 - 7:00pm

Undergraduate Assistants:

Name Email Room Office hours
Perry Cate ncate@princeton.edu Friend 010 Friday 1:00 - 3:00pm
Leila Clark lvclark@princeton.edu Friend 010 Sunday 3:00 - 5:00pm
Felix Madutsa     fmadutsa@princeton.edu Friend 010 Saturday 2:00 - 4:00pm

Prerequisites

COS 217 and 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

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


Announcements

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: cos318@princeton.edu [subscribe here].

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