Operating systems are essential to most modern computer systems, from very small computing devices such as mobile phones and tablets to larger computers such as laptops, desktop computers, workstations, clusters, and supercomputers. An operating system has two fundamental tasks: to manage a computer’s resources (i.e., CPU cycles, memory, disk, network interface, etc.) and to provide applications with an abstract interface to these resources so that they are (relatively) easy to use.
In this course you will learn the fundamental principles of operating system design and implementation. You will learn how the principles are used in practice by writing system software and modifying components of an operating system, including the system call interface, user processes, virtual memory, and file systems.
- April 18 – Project 3 now available.
- March 7 – Project 2 now available.
- Jan 31 – Project 1 now available.
- Jan 22 – Classes begin. Welcome!
MW 4:45pm – 6:25pm, LS G12
Lab Session: W 6:30pm – 8:15pm, LS G12
Q&A, Discussions: Piazza
Office: HR 416
Hours: MF 10-11am, Th 1-2pm
Phone: (415) 422-4756
Bindu Vasini Balasubramanian
Hours: MW 2-4pm
Hours: T 2:25-4:25pm, Th 11:30am-12:30pm & 3:30pm - 4:30pm