Instructor: Boon Thau Loo
Room: Virtually on Zoom and OHQ (see instructor website for more details)
Class meeting time: Tuesday and Thursday 1:30-3pm (asynchronous format)
Fall 2020 office hours: Tuesday 4-5pm, Thursday 10-11am (go to Course canvas website or contact instructor for Zoom link)
Newsgroup: We will be using Piazza for course-related discussions. Sign up via Canvas.
Teaching assistants: TA office hours (time and Zoom links) are listed on Canvas.
This course is an introduction to the theory and practice behind modern computer operating systems. Topics will include what an operating system does, system calls and interfaces, processes and threads, concurrent programming, resource scheduling and management (of the CPU, memory, etc.), virtual memory, deadlocks, and virtualization. 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?).
Optional course textbooks:
- A.S. Tanenbaum. Modern Operating Systems (4/e). Prentice Hall.
- W. Richard Stevens and Stephen A. Rago. Advanced Programming in the UNIX Environment (2/e). Addison-Wesley Professional. 2005.
- Working knowledge of the C programming language (e.g. CIS 240 level).
- Programming projects: 57% (5% for project 0, 16% for project 1, 36% for final project)
- Class participation: 3%
- Two midterm exams: midterm 1 (20%), and midterm 2 (20%)
Class participation will be graded based on regular class attendance, visibility on newsgroup, and contribution to group projects.
Visit our Canvas website for more up-to-date information, including links to lecture notes, course resources, syllabus, etc. If you enroll in the class, you will automatically gain access to Canvas.