Lecture Slides and Reading Assignments

Date Lecture Reading Assignment
8/22 Administration (pdf) (ppt) Silberschatz skim chapter 1 and 2, read 1.5
8/24 Introduction to OS (part 1) (pdf) (ppt)
8/29 Introduction to OS (part 2), Project 0,
Threads & Processes (part 1)
(pdf) (ppt) Silberschatz read chapter 3.1-3.5
8/31 Threads & Processes (part 2): context switching (pdf) (ppt)
9/5 Threads & Processes (part 3): process states, priority-based scheduling (pdf) (ppt)
9/7 Threads & Processes (part 4): process & thread APIs, fork/join, multithreading & languages. (pdf) (ppt) Silberschatz 6.1-6.4
9/12 Concurrency & Synchronization (part 1): race conditions, critical section problem, disabling interrupts approach (pdf) (ppt)
9/14 Concurrency & Synchronization (part 2): implementing locks on uniprocessors, using locks (pdf) (ppt)
9/19 Concurrency & Synchronization (part 3): locks in Java/C#; atomic instructions, multiprocessor spinlocks (pdf) (ppt)
9/21 Concurrency & Synchronization (part 4): semaphores (pdf) (ppt) Silberschatz 6.5-6.8
9/26 Multiprogramming Basics: linking and loading, virtual address spaces, context switching & page tables (pdf) (ppt) Silberschatz 2.1-2.4
9/28 Scheduling (part 1): Intro, FCFS, Round-robin, SPN, MLFQS (pdf) (ppt)
10/3 Scheduling (part 2): Real-time scheduling: EDF, RMA (pdf) (ppt) Silberschatz 19.4-19.5
10/5 Concurrency & Synchronization (part 5): monitors (pdf) (ppt)
10/10 Optimistic Concurrency Control & Deadlock: detection, prevention, and avoidance. (pdf) (ppt)
10/17 Virtual Memory (part 1): address translation, page tables, & TLB (pdf) (ppt) Silberschatz 8 and 9
10/19 Virtual Memory (part 2): TLB reload, page table implementation, hierarchical page tables, inverted page tables. Paging techniques: fault resumption, lazy loading, stack growth, heap growth, mmap() (pdf) (ppt)
10/24 Virtual Memory (part 3): Paging techniques: copy-on-write, page eviction, managing swap space, frame locking. Physical memory management. (pdf) (ppt) Silberschatz 12.6
10/26 Virtual Memory (part 4): fragmentation and page replacement strategies: OPT, FIFO, LRU, and clock algorithms. (pdf) (ppt)
10/31 Virtual Memory (part 5): VM design issues: working set principle, thrashing, locality, page buffering. Segmentation. (pdf) (ppt)
11/2 User-level Memory Management, User-level Threads vs Kernel-level Threads, Hybrid Models (pdf) (ppt) Silberschatz 4
11/7 Disks & Buffer Cache (pdf) (ppt) Silberschatz 12
11/9 Filesystems (part 1): overview, in-memory data structures, file allocation strategies, DOS-FAT, multilevel indices (pdf) (ppt) Silberschatz 10-11
11/14 Filesystems (part 2): directories, fault tolerance & consistency (pdf) (ppt)
11/16 Filesystems (part 3): write ordering vs. logging, filesystem interfaces, volume management, RAID (pdf) (ppt) Silberschatz 12-13
11/28 Security & Protection (pdf) (ppt) Silberschatz 14-15
11/30 Networking & Operating Systems (pdf) (ppt)