Classes
What is an Operating System? (9:16)
Introducing Rust (18:27)
The First Real Operating Systems (11:27)
From Multics to Android (15:43)
Once Upon a Process (7:32)
Privileged Instructions (15:05)
Virtualizing Machines (5:13)
Good Auld Shell (gash) Demo (16:54)
How to Make a Process (7:44)
Virtual Memory in MULTICS (4:23)
Virtual Memory in the x86 (16:27)
More on Segmentation Faults (4:37)
Processes, Threads, and Tasks (10:43)
Concurrent Collatz Challenge (5:48)
Memory Management in C (5:35)
Automatic Memory Management (17:15)
Pointers in Rust (16:03)
goto fail; (Apple's SSL Bug) (19:24)
Safe Sharing across Tasks (15:43)
Introduction to Scheduling (3:51)
Priorities (3:37)
Glimpse at the Leaderboard (2:15)
Scheduling Web Services (27:05)
Course Update: Projects (3:51)
Benchmarking for Customers (9:01)
Latency (7:32)
Tracing Routes (15:27)
Bandwidth (4:59)
Entering the Kernel! (11:13)
Introducing IronKernel (6:49)
IronKernel Demo (14:54)
IronKernel Developers (19:36)
Alex Lamana, Zeming Lin, Wil Thomason
Storage (9:42)
SRAM and DRAM (8:19)
Disk Drives (10:13)
Making a File (5:55)
ZFS: Integrity Checking (6:31)
Adaptive Replacement Cache (8:14)
Flash Memory (5:26)
Log-Structured File Systems (15:04)
Minimizing Magic (3:26)
Access Control (16:48)
setuid in Apache (13:03)
Implementing System Calls (17:30)
PS4 Postmortem (3:56)
SSL Heartbleed (13:36)
Synchronization (11:48)
Projects/Hackathon Update (6:14)
Mutual Exclusion Non-Solutions (15:15)
Dijkstra's Solution (7:14)
Microkernels (18:20)
Exokernels (6:04)
Making
Predictions
(7:36)
Sending Faxes from the
Beach
(12:31)
Pace of
Progress
(8:03)
Endless Golden
Ages
(20:12)