This course gives an introduction to the basic concepts and core principles used to structure modern computer operating systems. The goal of the class is to explain those concepts and principles that are likely to survive for many years to come. The course is a departure point for research in operating and distributed systems. Specifically, the course introduces the concepts of processes, concurrency, synchronization, scheduling, multiprogramming, memory management, and file systems.
Lecture: | Tuesday/Thursday 09:00am-10:15am Ames Hall 234 |
Discussion Section: | Thursday 12-1pm Malone 228 |
Midterm Exam: | Tuesday Oct. 17th, 09:00am-10:20am Ames Hall 234 |
Final Exam: | Wednesday Dec. 20th, 2pm-5pm Ames Hall 234 |
by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, available online for free!
Other recommended textbooks:
This course is organized as a series of lectures taught by the instructors, assigned readings, discussion sections, homework, projects, and exams. They are complementary to each other, helping you reinforce learning on the core concepts in operating systems. Questions on examinations will be based on material covered in class, assigned readings, and projects.
Lectures: | Core material of the course. |
Readings: | The textbook and supplementary readings provide references to lectures, and are good preparations before class. But they are not a substitute for the lectures. In other words, you should come to class. |
Projects: | Five programming assignments, each completed individually or in groups (of no more than 3). They are essential for you to turn the theories you learned into practices. |
Homework: | Optional homework questions for exam preparation (not to be turned in) |
Exams: | Midterm examination and a final exam |
Your final grade for the course will be based on the following weights:
For the programming assignments, there are no partial credits. You must turn in working code.
The course syllabus, lecture and project materials are heavily influenced by UCSD CSE 120 and Stanford CS 140 class. Credits are particularly due to Geoff Voelker (UCSD), Yuanyuan Zhou (UCSD), and David Mazières (Stanford).