Operating Systems Design and Implementation
Instructor: Boon Thau Loo
Room: Wu and Chen auditorium
Time: Monday and Wednesday 12-1:30pm
Office hours: Monday 1:30-2pm, Wednesday 1:30-2pm, Thursday 3-4pm (all in 109 Towne)
Newsgroup: We will be using Piazza for course-related discussions. Sign up here.
- Brandon Gonzalez (head TA)
- Akhilesh Gupta
- Keyu He
- Hyun Ji Jung
- Garvit Khandelwal
- Jiho Lee
- Eric Micallef
- Griffin Morris
- Hannah Pan
- Davis Polito
- Ritvik Sadana
- Nishanth Shyamkumar
- Kartik Srivastava
- Bowen Wang
- Eric Wang (autograder lead TA)
- Waley Zhang
TA office hours (time and location) are listed here. All communications with teaching staff should be done within Piazza.
This is a master’s-level project-oriented course that focuses on the design and implementation of modern computer operating systems. Topics will include what an operating system does system calls and interfaces, processes, concurrent programming, resource scheduling and management (of the CPU, memory, etc.), virtual memory, deadlocks, and file systems. We will approach the subject from both a theoretical perspective (what are the abstractions and algorithms?) as well as a practical one (what are the mechanisms and how are they built?). The course will involve substantial programming projects cumulating into the development of an operating system.
Optional course textbook:
- A.S. Tanenbaum. Modern Operating Systems (4/e). Prentice Hall.
- (Highly recommended): W. Richard Stevens and Stephen A. Rago. Advanced Programming in the UNIX Environment (3/e). Addison-Wesley Professional. 2005.
- Working knowledge of the C programming language. Students who have taken CIS 380 are not allowed to take this class for credit. Penn undergrads can however take CIS 548 and use this to satisfy the CIS 380 BSE requirement via a petition that I will approve. Do note that CIS 548 is more challenging than CIS 380, hence pursue this option only if you are keen to dive deeper into operating systems.
- Programming projects: 62% (5% for project 0, 13% for project 1, 9% for project 2, 35% for final project)
- Class participation: 3%
- Two midterm exams: 35%
Class participation will be graded based on regular class attendance, visibility on piazza, and contribution to group projects.
Visit our Piazza website for more up-to-date information, including links to lecture notes, course resources, etc.