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




Week 2
(9/8)
OS history, general concepts, taxonomy

System primer overview: kernel modules, device drivers, system calls and ioctls
Chapter 1




Week 3
(9/15)
Computer-System Structures: machine booting, interrupts, I/O, DMA, storage etc

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

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




Week 4
(9/22)
The system interface: system calls and how they work

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


Processes: address spaces, run-states

Processes versus threads
Chapter 3




Week 5
(9/29)
Discussion of grub, bootloaders, linkers, BIOS and x86 background (real versus protected mode)

Discussion of MEMOS simple OS Chapter 4

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






Week 6
(10/6)
Discussion of Quest OS boot procedure

Thread concepts


Scheduling - basic algorithms

Coroutines
Chapter 6




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

  • No Tuesday lecture
  • Lab -- MEMOS assignment demos

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




Week 8
(10/20)
Proportional share scheduling


Synchronization - critical sections, mutexes, semaphores, hardware instructions Chapter 5




Week 9
(10/27)
Synchronization - classic problems



Discussion of MICROS assignment

  • Lab -- GDT, IDT, PIC, PIT




Week 10
(11/3)
Monitors, deadlocks -- basic conditions
and solutions
Chapter 7

Memory Management - swapping, swap files/partitions Chapter 8




Week 11
(11/10)
Memory Management (continued)...


Virtual Memory  Chapter 9
  • Lab -- TF Office Hours




Week 12
(11/17)
Virtual Memory -- page replacement

Buddy Memory / Slab Allocation


 




Week 13
(11/24)
Discussion of DISCOS assignment
Filesystem Implementation
Chapters 10-13


Thanksgiving Recess
  • No Thursday lecture




Week 14
(12/1)
Filesystems continued

Chapters 16-18

Miscellaneous Topics: Quest and Quest-V

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




Week 15
(12/8)
Class Exam



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