CS 300 : Operating Systems


Tentative Lecture Schedule

Week Tuesday Thursday Slides
Week 1
Introduction
OS Overview.
Why study it ?
Chapters 1.1-1.7
History of OSs
Chapter 10.1, 11.1
[pdf]

Assignment 1 released [Link] Due date Jan 26th 11:59pm.

Week 2
Processes
Processes/Threads
Chapters 2.1-2.3
Scheduling Algorithms
Chapters 10.3 11.4
[pdf]

Week 3
Synchronization
Atomics. Bounded Buffer
Chapters 2.3-2.5
Conditional Synchronization
Chapters 2.6, 2.7
[pdf] Bonus: Parallel Linked List [pdf]

Assignment 2 released [Link] Due date Feb 10th 11:59pm.

Week 4
More Synchronization
Monitors/Semaphores
Chapters 2.1-2.3
Dining Philosophers
[pdf]

Week 5
Deadlocks
What are they?
Chapters 6.1-6.3
Bankers Algorithm
Chapters 6.4-6.7
[pdf]

Assignment 3 released [Link] Due date March 2nd 11:59pm.

Week 6
Virtual Memory
Virtual Memory
Chapters 4.1-4.3
TLBs and PageTables
Chapters 4.7-4.8
[pdf]

Assignment 4 released [Link] Due date March 22nd 11:59pm.

Week 7
Page Replacement
Page replacement algorithms
Chapters 4.4-4.5
Implementation issues
Chapters 4.7
[pdf]

Week 8
I/O
I/O Devices
Chapters 5
Memory Mapped I/O and Software
Chapters 5.3
[pdf]

Week 9
Filesystems
Filesystems
Chapters 6
Filesystem consistency
Chapter 6
[pdf]

Week 10
Security
Protection
Chapters 9.6
Cryptography
Chapters 9.2
[pdf]