Date | Lecture | Reading Assignment | |
---|---|---|---|
1/16 | Administration | (pdf) (ppt) | Silberschatz skim chapter 1 and 2, read 1.5 |
1/18 | Introduction to OS (part 1) | (pdf) (ppt) | |
1/23 | Introduction to OS (part 2), Project 0, Threads & Processes (part 1) |
(pdf) (ppt) | Silberschatz read chapter 3.1-3.5 |
1/25 | Threads & Processes (part 2): context switching | (pdf) (ppt) | |
1/30 | Threads & Processes (part 3): process states, priority-based scheduling | (pdf) (ppt) | |
2/1 | Threads & Processes (part 4): process & thread APIs, fork/join, multithreading & languages. | (pdf) (ppt) | Silberschatz 6.1-6.4 |
2/6 | Concurrency & Synchronization (part 1): race conditions, critical section problem, disabling interrupts approach | (pdf) (ppt) | |
2/8 | Concurrency & Synchronization (part 2): implementing locks & semaphores on uniprocessors | (pdf) (ppt) | |
2/13 | Concurrency & Synchronization (part 3): atomic instructions, multiprocessor spinlocks; locking strategies | (pdf) (ppt) | |
2/15 | Concurrency & Synchronization (part 4): semaphores | (pdf) (ppt) | Silberschatz 6.5-6.8 |
2/20 | Concurrency & Synchronization (part 5): monitors | (pdf) (ppt) | Silberschatz 2.1-2.4 |
2/22 | Multiprogramming Basics: linking and loading, virtual address spaces, context switching & page tables | (pdf) (ppt) | |
2/27 | Optimistic Concurrency Control & Deadlock (part 1): detection, prevention, and avoidance. | (pdf) (ppt) | |
3/1 | Deadlock (part 2): detection, prevention, and avoidance. | (pdf) (ppt) | |
3/13 | Scheduling (part 1): Intro, FCFS, Round-robin, SPN, MLFQS | (pdf) (ppt) | |
3/15 | Scheduling (part 2):
Linux kernel scheduler, Lottery Scheduling
Virtual Memory (part 1): page tables, address translation |
(pdf) (ppt) | Silberschatz 8 and 9 |
3/20 | Virtual Memory (part 2): TLB reload, page table implementation, hierarchical page tables, inverted page tables. | (pdf) (ppt) | |
3/22 | Virtual Memory (part 3): Paging techniques: fault resumption, lazy loading, stack growth, heap growth, mmap() | (pdf) (ppt) | |
3/27 | Virtual Memory (part 4): Paging techniques: copy-on-write, page eviction, managing swap space, frame locking. Physical memory management. | (pdf) (ppt) | Silberschatz 12.6 |
4/3 | Virtual Memory (part 4): fragmentation and page replacement strategies: OPT, FIFO, LRU, and clock algorithms. | (pdf) (ppt) | |
4/5 | Virtual Memory (part 5): VM design issues: working set principle, thrashing, locality, page buffering. | (pdf) (ppt) | |
4/10 | Virtual Memory (part 6): segmentation File Systems (part 1): Disks |
(pdf) (ppt) | Silberschatz 10-12 |
4/12 | Filesystems (part 2): buffer cache | (pdf) (ppt) | |
4/24 | Filesystems (part 3): overview, in-memory data structures, file allocation strategies, DOS-FAT, multilevel indices | (pdf) (ppt) | Silberschatz 10-11 |
4/26 | Filesystems (part 4): directories, fault tolerance & consistency | (pdf) (ppt) | |
5/1 | Filesystems (part 5): write ordering vs. logging, filesystem interfaces, volume management, RAID | (pdf) (ppt) | Silberschatz 12-13 |