Lecture Notes

CS422/522: Design and Implementation of Operating Systems, Fall 2016, Yale University

This page is still under construction!

Lecture notes will be made shortly after each lecture.

  • Lecture 1 (Sep 1): Introduction (pdf)
  • Lecture 2 (Sep 6): The Kernel Abstraction (pdf)
  • Lecture 3 (Sep 8): Project Overview (pdf)
  • Lecture 4 (Sep 13): Memory Management & The Programming Interface (pdf)
  • Lecture 5 (Sep 15): Concurrency and Threads (pdf)
  • Lectures 6-8 (Sep 20-27): Synchronization (pdf)
  • Lectures 8-9 (Sep 27-29): Implementing Synchronization (pdf)
  • Lecture 10 (Oct 4): Multi-Object Synchronization (pdf)
  • Lecture 11 (Oct 6): CPU Scheduling (pdf)
  • Lecture 12 (Oct 11): Message Passing (pdf)
  • Lecture 13 (Oct 13): Address Translation (pdf)
  • Lecture 14 (Oct 18): Cache and Virtual Memory (pdf)
  • Lecture 15 (Oct 25): I/O Devices and Drivers (pdf)
  • Lecture 16 (Oct 27): Storage Devices (pdf)
  • Lecture 17 (Nov 1): Files and Directories (pdf)
  • Lecture 18 (Nov 8): Reliable Storage (pdf)
  • Lecture 19 (Nov 10): Security and Trust (pdf)
  • Lecture 20 (Nov 15): Midterm Review (pdf)
  • Lecture 21 (Nov 29): Networking and Protocol Stacks (pdf)
  • Lecture 22 (Dec 1): Advanced Memory Management
  • Lecture 23 (Dec 6): Unix and Linux

  • Copyright (c) 1995-2016, Zhong Shao, Dept. of Computer Science, Yale University