Lecture Slides and Reading Assignments

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