- Instructors: Jason Nieh
- Textbook:
- Required Text: Operating System Concepts Essentials (2nd Edition)
- Required Linux Reference: Linux Kernel Development (3rd Edition)
- Optional Text: Operating Systems: Principles and Practice (2nd Edition)
- Optional Linux Reference: Understanding the Linux Kernel (3rd Edition)
- URL: http://www.cs.columbia.edu/~nieh/teaching/w4118
- Introduction and logistics
- OS Overview and History
- Interrupts, System Calls and Protection
- Protection continued, Intro to Processes
- Processes and Linux Processes
- More Processes, Cooperating Processes
- Signals, Threads
- Dependencies and Synchronization
- Synchronization (1)
- Synchronization (2)
- Synchronization (3: RCU)
- CPU Scheduling
- Scheduling Mechanisms vs Policies, Linux and Solaris
- Intro to Memory Management
- Paging
- Paging in Linux, Segmentation
- Virtual Memory (1)
- Virtual Memory (2)
- File Systems (1)
- File Systems (2)
- File Systems (3 FS in Linux)
- I/O Systems
- Android Future Directions
- Disk Scheduling