InfoCoBuild

Operating Systems

Operating Systems. Instructor: Prof. Sorav Bansal, Department of Computer Science, IIT Delhi. The course will provide an introduction to Operating Systems (OS), their design and implementation. We will discuss the goals of an OS, and some successful and not-so-successful OS designs. We will also discuss the following OS services in detail: thread scheduling, security, virtual memory, file system. We will understand the OS concepts practically by directly studying the source code of a small but realistic OS. (from nptel.ac.in)

Lecture 22 - Fine-grained Locking and its Challenges


Go to the Course Home or watch other lectures:

Lecture 01 - Introduction to UNIX System Calls
Lecture 02 - Introduction to UNIX System Calls (cont.)
Lecture 03 - Threads, Address Spaces, Filesystem Devices
Lecture 04 - PC Architecture
Lecture 05 - x86 Instruction Set, GCC Calling Conventions
Lecture 06 - Physical Memory Map, I/O, Segmentation
Lecture 07 - Segmentation, Trap Handling
Lecture 08 - Traps, Trap Handlers
Lecture 09 - Kernel Data Structures, Memory Management
Lecture 10 - Segmentation Review, Instruction 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
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 Synchronization 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 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