Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IIT Delhi
Prof. Sorav Bansal
IIT Delhi


Download Syllabus in PDF format

Untitled Document

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.

Lecture 1

Introduction to OS Abstractions      (60 mins)                                 

Lecture 2

System Calls and Threads              (100 mins)

Lecture 3

x86 Processor Basics                   (200 mins)                                      

Lecture 4

Address Translation (Virtual Memory)    (150 mins)

Lecture 5

Processes and Memory Allocation       (200 mins)                             

Lecture 6

Process Creation         (60 mins)                                                         

Lecture 7

Modes, Stacks and Traps  (100 mins)                                                

Lecture 8

Context Switching (60 mins)

Lecture 9

Multiprocessors and Locking    (100 mins)                                          

Lecture 10

Abstracting Synchronization       (250 mins)                                      

Lecture 11

Virtual Memory Swapping (150 mins)

Lecture 12

Files and Disk I/O          (200 mins)                                                       

Lecture 13

Journaling Filesystem (Linux ext3)       (120 mins)

Lecture 14

Rethink the Sync                   (120 mins)                                                

Lecture 15

Read Copy Update                (100 mins)                                                

Lecture 16

Scheduling Policies                (120 mins)                                                 

Lecture 17

Security and Access Control  (120 mins)                                               

Lecture 18

Advanced Topics             (200 mins)                                                       

Data structures, Programming

Primary course reference: xv6: a teaching operating system, by Cox, Kaashoek, and Morris.

Book (draft): Source code archive: Source listing with line numbers:

MIT's xv6 homepage:

Secondary course reference (optional): Operating System Concepts (Eighth Edition) by Silberschatz, Galvin, and Gagne. John Wiley & Sons, Inc., 2008. ISBN 0-470-12872-0.

Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: