Operating Systems Lectures
by Sorav Bansal
Course webpage (current): www.cse.iitd.ernet.in/~sbansal/os
Course webpage during 2014 (when these lectures were recorded): www.cse.iitd.ernet.in/~sbansal/os/previous_years/2014
	
-  Lecture 1: Introduction to UNIX System Calls Part 1
 -  Lecture 2: Introduction to UNIX System Calls Part 2
 -  Lecture 3: Threads, Address Spaces, Filesystem, Devices
 -  Lecture 4: PC Architecture
 -  Lecture 5: x86 Instruction Set, GCC Calling Conventions
 -  Lecture 6: Physical Memory Map, I/O, Segmentation
 -  Lecture 7: Segmentation, Trap Handling
 -  Lecture 8: Traps, Trap Handlers
 -  Lecture 9: Kernel data structures, Memory Management
 -  Lecture 10: Segmentation Review, Introduction to Paging
 -  Lecture 11: Paging
 -  Lecture 12: Process Address Spaces using Paging
 -  Lecture 13: Translation Lookaside Buffer, Large Pages, Boot Sector
 -  Lecture 14: Loading the Kernel, Initializing the Page Table
 -  Lecture 15: Setting up page table for user processes
 -  Lecture 16: Processes in action
 -  Lecture 17: Process structure, Context switching
 -  Lecture 18: Process kernel stack, Scheduler, Fork, Context-switch, Process Control Block, Trap entry and return
 -  Lecture 19: Creating the first process
 -  Lecture 20: Handling User Pointers, Concurrency
 -  Lecture 21: Locking
 -  Lecture 22: Fine-grained locking and its challenges
 -  Lecture 23: Locking variations
 -  Lecture 24: Condition Variables
 -  Lecture 25: Multiple producer-multiple consumer queue, Semaphores, Monitors
 -  Lecture 26: Transactions and lock-free primitives, Read/write locks
 -  Lecture 27: Synchronization in xv6: acquire/release, sleep/wakeup, exit/wait
 -  Lecture 28: More sychronization in xv6: kill, IDE device driver; Introduction to Demand Paging
 -  Lecture 29: Demand Paging; Introduction to Page Replacement
 -  Lecture 30: Page Replacement, Thrashing
 -  Lecture 31: Storage devices, Filesystem interfaces
 -  Lecture 32: Filesystem Implementation
 -  Lecture 33: Filesystem Operations
 -  Lecture 34: Crash Recovery and Logging
 -  Lecture 35: Logging in Linux ext3 filesystem
 -  Lecture 36: Protection and Security
 -  Lecture 37: Scheduling Policies
 -  Lecture 38: Lock-free multiprocessor coordination, Read-Copy-Update
 -  Lecture 39: Microkernel, Exokernel, Multikernel
 -  Lecture 40: Virtualization, Cloud Computing, Technology Trends
 
HoH Lab help sessions
Practice Questions (incomplete)
Links