| Week | Day | Reading | Lectures | Tutorial(Mon) |
|---|---|---|---|---|
| 1 | Tue | Ch 1 Ex 8, 13-14, 18, 21-22 |
Administrivia, Overview of OS and Computer System Slides |
No Tutorial |
| Thu | Ch 2.1-2.2 Ex 3, 7-8, 11, 13, 19, 21 |
Intro to Processes and Threads Slides |
||
| 2 | Tue | Ch 2.3 Ex 23, 24 |
Synchronization: Data Races and the Critical Section problem Slides |
C Review Pass by Value vs. Pass by Reference Example .gdbinit |
| Thu | Ch 2.3 Ex 25, 27, 28 |
Synchronization Primitives: Locks, Semaphores, Condition variables Slides |
||
| 3 | Tue | Ch 2.3 Ex 19, 24, 27, 31, 49 |
Monitors Slides bounded buffer code Makefile |
Ex1 Postmortem & Intro to A1 Slides Code Examples (gzip'd tar file, includes Makefile and NOTES on the C programs) |
| Thu | Ch 6 Ex 19, 24, 27, 31, 49 |
Transactions, Deadlock Slides |
||
| 4 | Tue | Ch 6 | Deadlock Slides |
Using GDB with pthreads (no slides) |
| Thu | Ch 1.3, 1.5, 1.6 | System calls and bootstrapping Slides |
||
| 5 | Tue | Chapter 2.1, 2.2, 2.5? | Thread implementations Slides |
Adding a syscall Files (see bboard for access info) |
| Thu | Chapter 2.5 | CPU Scheduling Slides |
||
| 6 | Tue | Ch 4.1-4.3, 4.8 Ex 1, 3, 5, 7-8 |
Memory Management No Slides Yet |
Intro to A2: implementing fork Slides |
| Thu | ||||
| 7 | Tue | |||
| Thu | ||||
| 8 | Tue | Thu | ||
| 9 | Tue | |||
| Thu | ||||
| 10 | Tue | |||
| Thu | ||||
| 11 | Tue | |||
| Thu | ||||
| 12 | Tue | |||
| Thu |