| April 6 |
Introduction; What is an Operating System? Read What is an Operating System? and Operating System Evaluation homework
|
| April 8 |
Files and Directories Read File System Introduction homework
|
| April 10 |
File System Implementation Read File System Implementation homework
|
| April 13 |
The Process Model Read OSTEP Chapter 4 (p. 27–36) homework
|
| April 15 |
The Kernel Abstraction Read The Kernel Abstraction homework
|
| April 17 |
Interrupts and System Calls Read The Kernel Abstraction homework
|
| April 20 |
Unix Process API Read Process API homework
|
| April 22 |
Introduction to Concurrency Read OSTEP Chapter 26 homework
|
| April 24 |
Thread API and Implementation Read OSTEP Chapter 27 homework
|
| April 27 |
Race Conditions and Locks Read OSTEP Chapter 28 homework
|
| April 29 |
Condition Variables Read OSTEP Chapter 30, section 30.2 homework
|
| May 1 |
Semaphores and Advanced Locks Read OSTEP Chapter 31, sections 31.1-5, 31.8 homework
|
| May 6 |
Writing Concurrent Software Read OSTEP Chapter 29 homework
|
| May 8 |
Other Approaches to Concurrency Read OSTEP Chapter 33 homework
|
| May 11 |
Deadlock Read OSTEP Section 31.6 and OSTEP Chapter 32.3 homework
|
| May 13 |
Uniprocessor Scheduling Read OSTEP Chapter 8 homework
|
| May 15 |
Advanced Scheduling No reading homework
|
| May 18 |
Caches and Address Translation Read OSTEP Chapter 15 homework
|
| May 20 |
WORK DAY, no topic
|
| May 22 |
Segmentation and Paging Read OSTEP Chapter 18 homework
|
| May 25 |
Paging: Smaller Tables Read OSTEP Chapter 20 homework
|
| May 27 |
Paging: Faster Translations (TLBs) Read OSTEP Chapter 19 homework
|
| May 29 |
Beyond Physical Memory (optional) Read OSTEP Chapter 21 and Chapter 22 homework
|
| June 1 |
Software Protection and Virtual Machines (optional) Xen and the Art of Virtualization homework
|
| June 3 |
WORK DAY, no topic
|