Description

This is an introductory course on the principles of operating systems. Topics include processes, scheduling, synchronization, memory management, virtual memory, file systems, I/O, protection, security, networking, and distributed systems. There is a significant systems programming component to the course, where students are required to design and implement some basic kernel functions (context switching, scheduling, synchronization) and a user-level thread package. The course is organized of the following:

• Lectures: the lectures comprise the core material, and are based on the instructor's lecture notes that are provided to the students
• Discussion: the discussion sections are led by the TA, and may be organized as discussions on specific topics or question/answer sessions
• Readings: the readings in the textbook supplement the lecture notes
• Labs: there are four lab programming assignments (in C) using Umix, a Unix-based user-mode operating system
• Exams: there is a midterm exam and a final exam (both closed-book) covering the material in the lectures and the labs

General Information

Lecture and Discussion Place and Times
Lectures: Mon/Wed 5:00-6:20, SOLIS 104
Discussion: Fri 11:00-11:50, CENTR 216
Grading
• 30% Midterm exam (Mon, Nov 5)
• 40% Final exam (Thur, Dec 13, 7:00pm-10:00pm, Solis 104)
• 30% Programming assignments (four, each worth progressively more points: 3%, 6%, 9%, 12%)
References
• Lecture notes (available via Resources)
• Textbook: Operating System Concepts, 8th Ed. Update, by Silberschatz, Galvin, Gagne; Wiley, 2009, 2012 (2008 ed. is also ok)

Announcements

Announcements are not public for this course.
Staff Office Hours
NameOffice Hours
Prof. Pasquale
When?
Where?
Haronid Moncivais
When?
Where?
Gabriela Ponce
When?
Where?
Rossana Motta
When?
Where?
Yi Jin
When?
Where?
Suman Malani
When?
Where?
Kevin Webb
When?
Where?
Bohan Lei
When?
Where?

General Resources