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