Lecture weeks |
Lecture Content |
Slides |
Reading |
Additional material and HW |
29/07 - 03/08
| Course logistics, Introduction, Process |
1
2
3
| OSTEP Ch2, Ch4 |
HW: List down the OSes you use on a day-to-day basis
|
05/08 - 10/08
| System call, Process API, Files |
1
2
code-examples
| OSTEP Ch4, Ch5, Ch39 |
Linux man pages
inline-asm-tutorial
|
12/08 - 17/08
| File API, Pipes, Shell features |
1
code-examples
| OSTEP Ch39 |
Linux man pages
MAN pages for pipe, read, write, dup, dup2, open, close, fstat
|
19/08 - 24/08
| Virtual memory, Address space |
1
2
code-examples
| OSTEP Ch13,Ch14
|
Man Pages (brk, mmap, mprotect)
homework
|
26/08 - 31/08
| Resource Multiplexing, Priv. Architecture |
1
2
| OSTEP Ch6 |
Intel Software Developer's Manual 3A (Ch 6)
|
02/09 - 07/09
| OS mode execution, Scheduling |
1
2
| OSTEP Ch6,Ch7 |
Intel Software Developer's Manual 3A (Ch 5, Ch7)
|
09/09 - 14/09
| Scheduling Policy |
1
| OSTEP Ch7,Ch8 |
OSTEP Ch9
|
16/09 - 21/09
| *** Midsem *** |
*-*-*-*-*-*-*-*-* |
*** Midsem *** |
*-*-*-*-*-*-*-*-* |
23/09 - 28/09
| Midsem discussion, Address Translation |
1
2
| OSTEP Ch15,Ch16 |
|
30/09 - 04/10
| Paging, Multi-level paging |
1
2
| OSTEP Ch16,Ch18,Ch19 |
Intel Software Developer's Manual 3A (Ch 3, Ch4)
|
07/10 - 12/10
| *** Midsem Break *** |
*-*-*-*-*-*-*-*-* |
*** Midsem Break *** |
*-*-*-*-*-*-*-*-* |
14/09 - 19/10
| TLB, Page Fault and Swapping |
1
2
| OSTEP Ch16,Ch18,Ch19,Ch20,Ch21 |
Homework: S2 #12, #13, #15
|
21/10 - 26/10
| Threads, Concurrency |
1
2
3
code-examples
| OSTEP Ch26, Ch27, Ch28 |
Man pages: clone, pthread_create, pthread_join
|
28/10 - 02/11
| Locks |
1
| OSTEP Ch28 |
Homework: Exercises mentioned in the slides
|
04/11 - 09/11
| Semaphores, Concurrency Bugs |
1
2
| OSTEP Ch28, Ch31, Ch32 |
Homework: Exercises mentioned in the slides
|
11/11 - 14/11
| Filesystem: Caching and Consistency |
1
2
| OSTEP Ch 40, Ch41, Ch42 |
Homework: Analyze consistency issues when creating a file
|