Date | Lecture | Reading Assignment | |
---|---|---|---|
8/26 | Administration | (pdf) (ppt) | Silberschatz skim chapter 1 and 2, read 1.5 |
8/28 | Introduction to OS (part 1) | (pdf) (ppt) | |
9/2 | Introduction to OS (part 2), Project 0, Threads & Processes (part 1) |
(pdf) (ppt) | Silberschatz read chapter 3.1-3.5 |
9/4 | Threads & Processes (part 2): context switching | (pdf) (ppt) | |
9/9 | Threads & Processes (part 3): process states, priority-based scheduling process & thread APIs, fork/join, multithreading & languages | (pdf) (ppt) | |
9/11 | Concurrency & Synchronization (part 1): race conditions, critical section problem, disabling interrupts approach | (pdf) (ppt) | Silberschatz 6.1-6.4 |
9/16 | Concurrency & Synchronization (part 2): implementing locks & semaphores on uniprocessors | (pdf) (ppt) | |
9/18 | Concurrency & Synchronization (part 3): semaphores | (pdf) (ppt) | Silberschatz 6.1-6.8 |
9/23 | Concurrency & Synchronization (part 4): locking strategies | (pdf) (ppt) | |
9/25 | Concurrency & Synchronization (part 5): monitors, nonblocking synchronization | (pdf) (ppt) | Silberschatz 6.1-6.8 |
9/30 | Multiprogramming Basics: linking and loading, virtual address spaces, context switching & page tables | (pdf) (ppt) | Silberschatz 2.1-2.4 |
10/7 | Deadlock: detection, prevention, and avoidance. | (pdf) (ppt) | |
10/9 | Scheduling (part 1): Intro, FCFS, Round-robin, SPN, MLFQS | (pdf) (ppt) | |
10/14 | Scheduling (part 2): Linux kernel scheduler, Lottery Scheduling, Stride Scheduling, Real-time Scheduling | (pdf) (ppt) | |
10/16 | Virtual Memory (part 1): address translation, page tables, TLB | (pdf) (ppt) | Silberschatz 8 and 9 |
10/21 | Virtual Memory (part 2): page table implementations, hierarchical page tables, inverted page tables. Paging techniques: fault resumption, lazy loading, stack growth. | (pdf) (ppt) | |
10/23 | Virtual Memory (part 3): Paging techniques: heap growth, mmap(), copy-on-write, page eviction, managing swap space, frame locking. | (pdf) (ppt) | Silberschatz 12.6 |
10/28 | Virtual Memory (part 4): Physical memory management. Fragmentation. Page replacement strategies: OPT, FIFO, LRU, and clock algorithms. | (pdf) (ppt) | |
10/30 | Virtual Memory (part 5): VM design issues: working set principle, thrashing, locality, page buffering. Segmentation. | (pdf) (ppt) | |
11/4 | File Systems (part 1): Disks & Buffer Cache | (pdf) (ppt) | |
11/6 | Filesystems (part 2): overview, in-memory data structures, file allocation strategies, DOS-FAT, multilevel indices | (pdf) (ppt) | Silberschatz 10-11 |
11/11 | Filesystems (part 3): directories, name resolution | (pdf) (ppt) | Silberschatz 10-12 |
11/13 | Filesystems (part 4): fault tolerance & consistency | (pdf) (ppt) | |
11/18 | Filesystems (part 5): filesystem interfaces, volume management, RAID, advanced techniques (ZFS) | (pdf) (ppt) | |
11/20 | Multithreading in user processes: user-level vs. kernel-level threads | (pdf) (ppt) | |
12/2 | Security & Protection | (pdf) (ppt) | Silberschatz 12-13 |
12/4 | Virtualization | (pdf) (ppt) | Silberschatz 14-15 |