Weekly Syllabus (subject to change)

Date

Topic

Reading

Notes

September 6
Introduction: OS history, general concepts, taxonomy
 
Introductory notes




September 11
Computer-System Structures: interrupts, I/O, DMA, storage etc

Hardware-related protection issues: CPU, memory, I/O protection etc
Chapter 1
Slides on computer system structure
September 13
OS structure: monoliths, microkernels, virtual machines etc

The system interface: system calls and how they work.
Overview of process, memory, file  and I/O mgmt etc
Chapter 2 Slides on OS structure 
 
 
 
 
September 18 Processes: address spaces, run-states

Processes versus threads
Chapter 3
Slides on processes 
September 20
Threads (continued)...
Overview of the Linux kernel
Chapter 4

Background reading: Understanding the Linux Kernel (Bovet and Cesati)
Kernel primer (Introduction to VMWare and system virtualization, Linux kernel modules, ioctls/syscalls and device drivers)

Slides on threads
 
     
September 25
Scheduling - basic algorithms Chapter 5
Slides on scheduling
September 27
Scheduling - real-time algorithms/analysis Additional documentation on main web page  
 
 
 
 
October 2
Synchronization - critical sections, mutexes, semaphores Chapter 6
Primer due

Assignment 1
October 4
Synchronization - classic problems  
Slides on synchronization
 
 
 
 
October 10
Monitors, Deadlocks - basic conditions and solutions
Chapter 7
Slides on deadlocks
October 11
Deadlocks (continued)...banker's algorithm etc
 
 
       
October 16
Memory Management - swapping, swap files/partitions Chapter 8
Assignment 1 due (11:59pm using gsubmit)
October 18
Assignment 2 overview
 
Assignment 2

Support files for assignment 2
 
 
 
 
October 23
Memory Management (continued)...  
Slides on memory management
October 25
Virtual Memory Chapter 9
 
 
 
 
 
October 30
Midterm review
 
 
November 1 Midterm Exam
 

       
November 6
Discussion

 
November 8
Virtual Memory (continued)...
 
Slides on virtual memory
 
 
 
 
November 13
File System Interface / Implementation Chapters 10 and 11
Assignment 2 due (11:59pm)
November 15
File Systems (continued)...
 
Assignment 3
(Additional information)
 
 
 
 
November 20
Storage / Disk Scheduling
Chapter 12
 
November 22
-- Fall Recess --
 
 
       
November 27
Distributed System Concepts - Overview, Lamport clocks and synchronization Chapters 16-18

Additional notes

 
November 29
Distributed System Concepts - Mutual exclusion and group communication  
 
 
 
 
 
December 4
Distributed System Concepts - Distributed shared memory  
 
December 6
Distributed System Concepts -
Peer-to-peer systems
 
Assignment 3 due (Friday, December 8)

Gerald's additional notes on distributed systems
 
 
 
 
December 11
Wrap-up / review
 
Brief overview of DSM protocols