Course Description

This class introduces the basic facilities provided in modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency: how to manage multiple tasks executing at the same time and sharing resources. Topics in this section include processes and threads, context switching, synchronization, scheduling, and deadlock. The second part of the course addresses the problem of physical memory management; it will cover topics such as linking, dynamic memory allocation, dynamic address translation, virtual memory, and demand paging. The third major part of the course concerns file systems, including topics such as storage devices, disk management and scheduling, directories, protection, and crash recovery. After these three major topics, the class will end with a few smaller topics such as virtual machines.

The class also includes a series of four programming projects based on the Pintos kernel. You will learn a lot from these projects, but be prepared to spend a significant amount of time working on them.

Basic Information

Lectures: MWF 10:00-10:50
Building 380, Room 380C
Instructor: John Ousterhout
Section: F 3:15-4:05 (4/9, 4/23, 5/7, 5/21)
Y2E2, Room 111
Contacting TAs: cs140ta@cs
Newsgroup: su.class.cs140
(for discussion with TAs and other students)
Midterm Exam: Thurs. May 6, 8-9:30 PM
Building 420, Room 40
Final Exam: Tues. June 8, 8:30 AM
Building 200, Room 002

Useful Links

Recent Announcements

No recent announcements

All announcements... »

Upcoming Lectures

Full lecture schedule... »

Upcoming Projects

All projects... »