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
|