Lecture notes
Week 1-2: (
3-slide/page
,
6-slide/page
,
2-slide/page
) – Introduction: multiprogramming, multitasking, interrupt-driven, kernel, system calls, etc. (chapters 1,2)
Week 3 (
3-slide/page
,
6-slide/page
,
2-slide/page
) – Process: concept, PCB, context switch, Inter-Process Communication (IPC), Unix programming (signals, pipes). (chapter 3)
Week 4 (
3-slide/page
,
6-slide/page
,
2-slide/page
) – Thread: concept (vs process), thread models, multithreaded programming (Pthreads). (Chapter 4)
Week 5 (
3-side/page
,
6-slide/page
,
2-slide/page
) – CPU scheduling: criteria, algorithm, implementation. (chapter 6)
Week 6 (
3-side/page
,
6-slide/page
,
2-slide/page
) – Process Synchronization (I): critical-section problem & example, bakery algorithm, Peterson’s solution. (chapter 5.1-5.3)
Week 7 (
3-side/page
,
6-slide/page
,
2-slide/page
) - Process Synchronization (II): hardware solution, semaphore, classic problems (B-B, R-W, D-P). (chapter 5.4-5.8)
Week 8 (
3-side/page
,
6-slide/page
,
2-slide/page
) – Memory Management (I): logical vs. physical memory, address binding; Contiguous memory allocation. (chapter 8.1-8.3)
Week 9 (
3-side/page
,
6-slide/page
,
2-slide/page
) - Memory Management (II): paging, segmentation, examples. (chapter 8.4 -8.8)
Week 10 (
3-side/page
,
6-slide/page
,
2-slide/page
) – Virtual Memory: demand paging, replacement, thrashing. (chapter 9)
Week 11 (3-side/page, 6-slide/page,
2-slide/page
) – Protection and Security. (chapter 14-15)