Operating Systems


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 tables 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 - Transcations and lock-free primitives read/write locks


Lecture 27 - Synchronization in xv6: acquire/release, sleep/wakeup, exit/wait


Lecture 28 - More synchronization in xv6: kill, IDE device driver; introducion to Demand Paging


Lecture 29 - Demand Paging; Introduction to Page Replacement


Lecture 30 - Page Replacement, Thrashing


Lecture 31 - Storage Devices, Filesystem Intrerfaces


Lecture 32 - File System Implementation


Lecture 33 - File System Operation


Lecture 34 - Cash 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