Operating Systems


Time, Location
Lectures: T&Th 16:00-17:20, EIT 1015
Tutorials: F 10:30-11:20, RCH 112
Labs: T-W-Th 08:30-11:20, E2 2363
Prof. Seyed Majid Zahedi
Seyed Majid Zahedi
Office Hours: M 14-15 and F 15:30-16:30, DC-2524
Lab Instructor
Irene Huang
Irene Huang
Office Hours: W and F 11:30-12:30, E2-3340 (Week 4, 6, 10, and 11)
Ali Abyaneh
Ali Hossein Abbasi Abyaneh
Office Hours: Mar 10th and 26th 11:30-12:30, DC-3721

Huanyi Chen
Huanyi Chen
Office Hours: Jan 28th and Mar 23rd 11:30-12:30, DC-2634

Weitian Xing
Weitian Xing
Office Hours: Feb 11th and Mar 24th 11:30-12:30, EIT-4143
This course is an introduction to the fundamentals of operating systems design and implementation. Topics include processes, threads, concurrency, synchronization, scheduling, memory management, file systems, device management, and security.
CS 240, (CS 246 or 247), ECE 222; Software Engineering students only
Main Textbook Optional References
Coursework will include the following components.
  • Midterm Exam (15%)
  • Lab Project (35%)
  • Final Exam (50%)


Jan. 8
Lab calendar has been posted on Piazza.
Dec. 23
Please sign up for the course on Piazza.

Lecture Notes

Lecture 1
Date: 01/07
Download Slides: PPTX, PDF
Readings: OSPP Chapter 1
Lecture 2
OS Concepts
Date: 01/09, 01/14
Download Slides: PPTX, PDF
Readings: OSPP Chapter 2.1-3
Optional Readings:
Lecture 3
Process Management
Date: 01/16
Download Slides: PPTX, PDF
Readings: OSPP Chapter 2.4-2.7, 3.1-3.3
Lecture 4
Date: 01/21, 01/23
Download Slides: PPTX, PDF
Readings: OSPP Chapter 4.1-4.6
Download Codes (from OSPP website):
Lecture 5
Multithreaded Kernels
Date: 01/28, 01/30
Download Slides: PPTX, PDF
Readings: OSPP Chapter 4.7-4.8
Lecture 6
Date: 01/30, 02/04
Download Slides: PPTX, PDF
Readings: OSPP Chapter 5.1-5.3 and 5.7
Lecture 7
Synchronization API
Date: 02/06, 02/11, 02/13
Download Slides: PPTX, PDF
Readings: OSPP Chapter 5.4-5.6
Lecture 8
Date: 02/25, 02/27
Download Slides: PPTX, PDF
Readings: OSPP Chapter 7.1-7.2 and 7.4
Optional Readings:


When is the midterm?
Midterm is scheduled for Friday, February 28th, from 16:30 to 18:20 in STP 105.
Lab Project
When are the deadlines for the lab project?
What is the group work policy?
The project is done in groups of four. A group of less than four members is not recommended. There is no reduction in project deliverables regardless of the size of the project group. Everyone in the group normally gets the same mark.
What is the lateness policy?
There are three grace days (including weekends) that can be used for project deliverables late submissions without incurring any penalty. A group split-up will consume one grace day. When you use up all your grace days, a 10% per day late penalty will be applied to a late submission. Please be advised that to simplify the book-keeping, late submission is counted in a unit of day rather than hour or minute. An hour late submission is one day late, so does a fifteen hour late submission. Unless notified otherwise, we always take the latest submission from Gitlab. You are required to notify lab TAs (preferably by email) when you have used grace days.
Other Policies
What is the academic integrity policy?
In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Check the Office of Academic Integrity for more information.
What is the grievance policy?
A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department's administrative assistant who will provide further assistance.
What is the discipline policy?
A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. Check the Office of Academic Integrity for more information. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about"rules" for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.
What is the appeals policy?
A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.
Do you use an automatic system to detect plagiarism?
Moss (Measure Of Software Similarity) will be used to screen lab project deliverables in this course. Students' submissions are stored on a U.S. server, therefore students will be given an alternative if they are concerned about their privacy and/or security. Students will be given due notice about arrangements and alternatives for the use of Moss in this course.