Try it free

← All courses

University of Toronto ECE 344

Professor Jon Eyolfson · University of Toronto · 14 lectures with notes

Students in this class: ask your lecturer for the class code, and these lectures will already be in your library when you sign up.

ECE344 Fall 2026 (Sec 1) Lec 1 - Why Operating Systems?

9 Sep 2026

ECE344 uses Linux and xv6 to show how operating systems manage resources and shape the behavior of everyday programs.

ECE344 Fall 2026 (Sec 1) Lec 2 - Kernels

12 Sep 2026

System calls form the protected boundary between user programs and the kernel, regardless of programming language.

ECE344 Fall 2026 (Sec 1) Lec 3 - Libraries

12 Sep 2026

A library’s shared ABI determines whether programs keep working when its implementation changes.

ECE344 Fall 2026 (Sec 1) Lec 4 - Process Creation

16 Sep 2026

Unix process creation hinges on fork’s parent-child split and execve’s replacement of a process image.

ECE344 Fall 2026 (Sec 1) Lec 5 - Process Management

19 Sep 2026

Linux parents must collect child exit statuses; otherwise, terminated children become zombies and surviving children may be reparented.

ECE344 Fall 2026 (Sec 1) Lec 7 - Advanced IPC

24 Sep 2026

Pipe EOF depends on closing every write end; close-on-exec also enables reliable exec-failure reporting.

ECE344 Fall 2026 (Sec 1) Lec 8 - Event Loops and Process Groups

26 Sep 2026

Combine signalfd and poll to handle child exits and input in one efficient, single-threaded event loop.

ECE344 Fall 2026 (Sec 1) Lec 9 - Virtual Memory

26 Sep 2026

Virtual memory uses per-process page tables and MMU hardware to translate addresses while isolating processes from one another.

ECE344 Fall 2026 (Sec 1) Lec 10 - Page Tables

30 Sep 2026

SV39 uses a three-level page-table tree to make sparse virtual address spaces far cheaper to represent.

ECE344 Fall 2026 (Sec 1) Lec 11 - Page Faults

3 Oct 2026

Jon Eyolfson connects SV39 page-table translation, TLB performance, and demand paging through BRK, MMAP, and page-fault handling.

ECE344 Fall 2026 (Sec 1) Lec 12 - Basic Scheduling

3 Oct 2026

Scheduling policies trade off waiting time, responsiveness, fairness, and the overhead of switching processes.

ECE344 Fall 2026 (Sec 1) Lec 14 - Threading Models

10 Oct 2026

User threads are fast and library-managed, but only kernel-visible threads can run in parallel or block independently.

ECE344 Fall 2026 (Sec 1) Lec 13 - Threads

9 Oct 2026

Pthreads share a process’s memory but have independent stacks, making synchronization and argument lifetime essential.

ECE344 Fall 2026 (Sec 1) Lec 13 - Threads

10 Oct 2026

Pthreads make concurrency inexpensive, but shared memory, thread lifetimes, and scheduling order demand careful design.

Keep the lectures you learn from

Paste a video, playlist, or channel URL — get transcripts, AI summaries with clickable timestamps, and search across everything.

Get started — it's free