SWE3004: Operating Systems (Spring 2017)

[Schedule]

The following schedule is tentative and subject to change without notice.

Day Topic Reading Projects
3/6 (M) Course overview
3/8 (W) Introduction to operating systems Chap. 2

Reading: The Evolution of the Unix Time-sharing System

3/13 (M) Architectural support for OS Chap. 6
3/15 (W) Architectural support for OS (cont'd)
3/20 (M) Processes Chap. 4
Chap. 5
3/21 (T) Supplementary class: Processes (cont'd)
3/22 (W) CPU scheduling Chap. 7
Chap. 8
3/27 (M) No class
3/29 (W) Lab session (Tuesday lab session moved for this week)
4/3 (M) Virtual memory Chap. 13
Chap. 14
Chap. 15
Chap. 16
4/5 (W) Paging Chap. 18
4/10 (M) Paging (cont'd)
4/12 (W) TLBs Chap. 19
4/17 (M) Page tables Chap. 20
4/19 (W) Swapping Chap. 21
Chap. 22
4/24 (M) Midterm exam: 13:30 ~ 14:45
4/26 (W) -
5/1 (M) Swapping (cont'd)
5/3 (W) National holiday
5/8 (M) Threads Chap. 26
Chap. 27
5/10 (W) Threads (cont'd)
5/15 (M) Locks Chap. 28
5/17 (W) Semaphores Chap. 31
5/22 (M) Semaphores (cont'd)
5/24 (W) Condition variables Chap. 30
5/29 (M) I/O devices, Hard disk drives (HDDs) Chap. 36
Chap. 37
5/31 (W) Solid state drives (SSDs) Appendix I
6/5 (M) File systems Chap. 39
6/7 (W) File system implementation Chap. 40
6/12 (M) Fast file system Chap. 41
6/14 (W) File system consistency Chap. 42
6/19 (M) Final exam week
6/21 (W) Final exam week



Credit: Some of slides for this lecture are based on materials provided by the textbook publisher.