ECE350


Real-time Operating Systems

Details


Time & location

Lectures: M, Th 13:20 - 14:50, E7 5353

Teaching team
Prof. Seyed Majid Zahedi

Instructor

Prof. Seyed Majid Zahedi

Book appointments here

Maran Ma

Lab instructor

Maran Ma

Jiayue Yang

GTA

Jiayue yang

Jenish Patel

GTA

Jenish Patel

Description
This course is an introduction to the fundamentals of operating systems design and implementation. Topics include process and thread management, multiprocessing, real-time kernel development, scheduling, queue management, memory and caching, permanent storage management, file systems, I/O device management, and security.
Prereq
ECE252
Antireq
CS350, ECE254, SE350
Readings

Main textbook

Optional references

Evaluation
Coursework will include the following components.
  • Midterm (20%)
  • Lab projects (30%)
  • Final (50%)

Announcements


May 10
Please sign up for the course on Piazza.

Schedule (tentative)


Week Day Lecture Reading Event
1 M 05/11

Introduction

Slides: PPTX, PDF

OSPP 1

Th 05/14

OS concepts

Slides: PPTX, PDF

OSPP 2 (and 3 to refresh your memory)

Optional:

2 M 05/18 Victoria Day
Th 05/21

Group signup deadline

Makeup session, 12:30-1:20, E75353

3 M 05/25
Th 05/28

Multithreaded kernels

Slides: PPTX, PDF

OSPP 4.5-4.8, 5.7-5.8 (and 5.2-5.6 to refresh your memory)

4 M 06/01
Th 06/04

Makeup session, 12:30-1:20, E75353

5 M 06/08

Uniprocessor scheduling

Slides: PPTX, PDF

OSPP 7.1

Optional:

Th 06/11

Lab 1 deadline on June 12

6 M 06/15

Multiprocessor scheduling

Slides: PPTX, PDF

OSPP 6.1-6.3, 7.2-7.3, and OSTEP 10

Optional:

Th 06/18

Real-time systems

Slides: PPTX, PDF

OSPP 7.4

Optional:

Makeup session, 12:30-1:20, E75353

7 M 06/22 Midterm week

Midterm on Jun 23, 13:30-15:00, PSE 4043, 4053

Th 06/25
8 M 06/29
Th 07/02

Address translation

Slides: PPTX, PDF

OSPP 8.1-8.2

Lab2 deadline on July 3

9 M 07/06
Th 07/09
10 M 07/13

Caching

Slides: PPTX, PDF

OSPP 8.3 and 9.1-9.4

Optional Readings:

Th 07/16
11 M 07/20

Demand paging

Slides: PPTX, PDF

OSPP 9.5-9.7
Th 07/23
12 M 07/27

I/O subsystem and storage devices

Slides: PPTX, PDF

OSPP 11.3, 7.5, and 12
Th 07/30

File systems

Slides: PPTX, PDF

OSPP 11.1-11.2 and 13

Lab3 deadline on July 31

13 M 08/03 Civic Day
Tu 08/04

Resources


Slides

Slides are available on GitHub.

Sample exams

Waterloo ECEE350 W23

Waterloo ECEE350 W22

Waterloo SE350

Berkeley CS162

Past recordings

Lectures from previous offerings of the course are available on Youtube for F'20, W'21, and W'22.

Policies


Lateness

Late lab submissions will not be accepted.

Illness

Accommodations such as due date extensions and re-weighting of deliverables will be considered in accordance with existing department-level, faculty-level, and university-level policies. Missed deliverables due to prolonged illness will normally be replaced with the final exam grade.

Students with chronic health problems that affect their ability to complete coursework should register with AccessAbility Services.

Collaboration and group work

Labs are completed in groups as specified in the lab manual. Lightweight discussions between individuals and lab groups are permitted, but solutions should be developed independently.

Copying material from other groups, from other courses, or from online sources is forbidden except for materials authorized explicitly by the teaching team.

Code should never be shared electronically with classmates except among members of the same lab group, or with the instructor's permission.

Unauthorized collaboration and copying of material constitute academic offences under Policy 71.

Your code may be checked for plagiarism using MOSS or Turnitin.

Piazza

Please be respectful and polite when posting in Piazza. Feel free to ask for clarification regarding the requirements for a coursework deliverable, or ask general technical questions, but do not post information (e.g., code fragments) that gives away a substantial part of the solution.

Academic integrity

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.

Grievance

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.

Discipline

A student is expected to know what constitutes academic integrity to avoid committing an academic offense, 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 offense, or who needs help in learning how to avoid offenses (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 offenses and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.

Appeals

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.

Automatic system to detect plagiarism

Moss (Measure Of Software Similarity) or Turnitin may be used to screen each project 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. It is the responsibility of the student to notify the instructor in the first week of the term if they wish to submit an alternative assignment. Students will be given due notice about arrangements and alternatives for the use of Moss or Turnitin in this course.