414 Classes are Tuesdays and Thursdays in Thurston 205, from 10:10 - 11:25.
All reading references are from Operating System Concepts, 7th edition, unless otherwise stated. Slides will be posted here.

Introduction:Introduces the course and its contents; Discusses the history of OSs.

No reading

Architectural Support for Operating Systems: Interrupts and Traps; I/O and device drivers; OS Protection; OS Structure; Booting.

Chaps 1 and 2 (Extra reading: Chap 13)

Processes and Interprocess Communication: What is a process, and why do we have them? How are they created and destroyed? How do processes communicate?

Chap 3

Threads: How do they different from processes? What are the main issues in using them?

Chap 4

CPU Scheduling: How does the OS decide which user processes/threads to schedule? 

Chap 5

Synchronization: How do threads share the same memory without stepping on each others toes? How do threads coordinate their execution? Locks, spinlocks, semaphores, monitors, and conditional variables.

Chap 6

Deadlocks: How to prevent synchronized threads from mutually blocking each other and halting

Chap 7

Memory Management: Main memory concepts - paging, segmentation.

Chapter 8

Virtual Memory

Chapter 9

Disks and RAID

Chap 12

File Systems: How are filesystems implemented, what are the performance implications for various designs? Hard/Soft Links, Caching, Consistency, Disk block allocation, Log structured filesystems.

Chaps 10 and 11

Networking

Saltzer, Reed and Clark, End-to-End Arguments in System Design. Wikipedia: TCP & DNS

Security

Chap 15

Distributed Systems

Chap 14 and Time, Clocks, and the Ordering of Events in a Distributed System

Course review.

The whole book