Computer Science 318
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.
Monday & Wednesday, 11:00am - 12:20pm [Zoom link available on course Canvas]
Monday, 7:30pm - 8:20pm
Tuesday, 7:30pm - 8:20pm
|Prof. Jaswinder P. Singhfirstname.lastname@example.org|
|Dr. Mohammad Shahrademail@example.com||Tue: 4:00pm - 5:00pm / Thu: 11:00am - 12:15pm|
Graduate Teaching Assistants:
|Ben Burgessfirstname.lastname@example.org||Tue: 12:00pm - 2:00pm / Wed: 3:00pm - 5:00pm|
|Samuel Ginzburgemail@example.com||Tue: 9:00am - 11:00am / Fri: 2:00pm - 4:00pm|
|Jianan Lufirstname.lastname@example.org||Mon: 5:00pm - 7:00pm / Wed: 5:00pm - 7:00pm|
|Lucas Salvadoremail@example.com||Tue: 2:00pm - 4:00pm / Thu: 2:00pm - 4:00pm|
Undergraduate Teaching Assistants:
COS 217 & 226 or instructor's permission.
Andrew S. Tanenbaum and Herbert Bos, Modern Operating Systems, 4th edition, Prentice Hall, 2014.
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.
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.