|
Thur 24th Aug |
Introduction:Introduces the course and its contents; Discusses the history of OSs. |
No reading |
|
Tues 29th Aug |
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) |
|
Thur 31st Aug |
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 |
|
Tues 5th Sept |
Threads: How do they different from processes? What are the main issues in using them? |
Chap 4 |
|
Thurs 7th Sept |
CPU Scheduling: How does the OS decide which user processes/threads to schedule? |
Chap 5 |
|
Tues 12th - |
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 |
|
Thurs 21st - |
Deadlocks: How to prevent synchronized threads from mutually blocking each other and halting |
Chap 7 |
|
Thurs 28th Sept |
Memory Management: Main memory concepts - paging, segmentation. |
Chapter 8 |
|
Tues 3rd Oct - |
Virtual Memory |
Chapter 9 |
|
Tues 10th Oct |
Fall Break. |
|
|
Thurs 12th Oct |
MIDTERM |
|
|
Tues 17th Oct |
Chap 12 |
|
|
Thurs 19th - |
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 |
|
Tues 31st Oct - |
Saltzer, Reed and Clark, End-to-End Arguments in System Design. Wikipedia: TCP & DNS |
|
|
Thurs 9th Nov - Tues 14th Nov |
|
Chap 15 |
|
Thurs 16th - |
Chap 14 and Time, Clocks, and the Ordering of Events in a Distributed System |
|
|
Thurs 23rd |
Thanksgiving. |
|
|
Tues 28th - |
The whole book ;-) |