Weekly Syllabus

Week
(Date)

Topic

Reading*

Notes**

Week 1
(9/3)
Introduction: course overview

  • F00F Bug story
  • Metdown and Spectre
  • Lab -- VM setup and kernel building

OS history, general concepts, taxonomy




Week 2
(9/10)
System primer overview: kernel modules, device drivers, system calls and ioctls
Chapter 1

Computer-System Structures: machine booting, interrupts, I/O, DMA, storage etc

Hardware-related protection issues: CPU, memory, I/O protection etc
Chapter 2




Week 3
(9/17)
OS structure: monoliths, microkernels, virtual machines etc (Background: Bovet & Cesati + Intel manuals)

Further reading (just a sampling as there are many):
  • Lab -- Virtual Disk and GRUB

The system interface: system calls and how they work

Overview of process, memory, file  and I/O mgmt etc





Week 4
(9/24)
Processes: address spaces, run-states

Processes versus threads
Chapter 3

Discussion of grub, bootloaders, linkers, BIOS and x86 background (real versus protected mode)




Week 5
(10/1)
Discussion of MEMOS simple OS Chapter 4

Background reading: Understanding the Linux Kernel (Bovet and Cesati)
  • Lab -- Protected Mode / Real Mode



Discussion of Quest OS boot procedure

Thread concepts





Week 6
(10/8)
Scheduling - basic algorithms

Coroutines
Chapter 6

Scheduling - real-time algorithms/analysis Additional documentation on main web page




Week 7
(10/15)
Substitute Monday Schedule of Classes

  • No Tuesday lecture
  • Lab -- MEMOS assignment demos

Proportional share scheduling





Week 8
(10/22)
Synchronization - critical sections, mutexes, semaphores, hardware instructions Chapter 5

Synchronization - classic problems






Week 9
(10/29)
Discussion of FIFOS assignment

  • Lab -- GDT, IDT, PIC, PIT

Monitors, deadlocks -- basic conditions
and solutions
Chapter 7




Week 10
(11/5)
Memory Management - swapping, swap files/partitions Chapter 8

Memory Management (continued)...





Week 11
(11/12)
Virtual Memory  Chapter 9
  • Lab -- TF Office Hours

Virtual Memory -- page replacement




Week 12
(11/19)
Buddy Memory / Slab Allocation


 

Discussion of DISCOS assignment
Filesystem Implementation
Chapters 10-13





Week 13
(11/26)
Filesystems continued

Chapters 16-18

Thanksgiving Recess  
  • No Thursday lecture




Week 14
(12/3)
Miscellaneous Topics: Quest and Quest-V

  • Slides provided as appropriate, depending on topics discussed
  • Lab -- TF Office Hours

Class Exam






Week 15
(12/10)
Miscellaneous Topics: Distributed Systems, DriveOS

Q & A final assignment

  • Lab -- TF Office Hours
  • Final assignment demos will be during the final exam time slot
  • Last day of classes