Princeton University
Computer Science Department

Computer Science 318
Operating Systems

Jaswinder P. Singh
Mohammad Shahrad

Fall 2020


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 [Zoom link available on course Canvas]

Precepts:

Monday, 7:30pm - 8:20pm

Tuesday, 7:30pm - 8:20pm

Instructors:

Name Email Office hours
Prof. Jaswinder P. Singh jps@cs.princeton.edu
Dr. Mohammad Shahrad mshahrad@cs.princeton.edu Tue: 4:00pm - 5:00pm / Thu: 11:00am - 12:15pm

Graduate Teaching Assistants:

Name Email Office hours
Ben Burgess bburgess@cs.princeton.edu Tue: 12:00pm - 2:00pm / Wed: 3:00pm - 5:00pm
Samuel Ginzburg ginzburg@princeton.edu Tue: 9:00am - 11:00am / Fri: 2:00pm - 4:00pm
Jianan Lu jiananl@cs.princeton.edu Mon: 5:00pm - 7:00pm / Wed: 5:00pm - 7:00pm
Lucas Salvador ls24@princeton.edu Tue: 2:00pm - 4:00pm / Thu: 2:00pm - 4:00pm

Undergraduate Teaching Assistants:

Name Email
Jerry Huang gmhuang@princeton.edu
Joseph Kim jk30@princeton.edu
Julian Knodt jknodt@princeton.edu
Frankie Lam slflam@princeton.edu
Sean-Wyn Ng seanwynn@princeton.edu
Nick Sum nsum@princeton.edu
Christopher Ye czye@princeton.edu
Emily Yin emilyy@princeton.edu

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 questions and discussions will be Piazza. Enroll here.

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