Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IIT Madras


Download Syllabus in PDF format

Untitled Document
Operating systems (OS) provide the crucial interface between a computer's hardware and the applications that run on it. It allows us to write programs without bothering much about the hardware. It also ensures that the computer's resources such as its CPU, hard disk, and memory, are appropriately utilized. In this course, we dwell into how the OS manages to do all this in an efficient manner. This is an introductory course, for students with prior knowledge of computer organization. The course is based on an OS called xv6, which in many ways is similar to the Linux operating systems.

S.No. Lessons/Topics
1 Introduction
2 Overview
3 Memory Management
4 Processes and Threads
5 Interrupts and Context Switching
6 Scheduling
7 Memory Management Algorithms
8 Synchronization
9 File Systems

good knowledge of C, Computer Organization and Architecture, x86 Assembly level programming

  • ''xv6: a simple, Unix-like teaching operating system", Revision 8, by Russ Cox, Frans Kaashoek, Robert Morris
  • ''Operating System Concepts'', 8th edition, by Adraham Silberschatz, Pert B. Galvin, and Greg Gagne, Wiley-India edition
  • ''Modern Operating Systems'', 3rd edition, by Andrew S. Tanenbaum, PHI Learning Private Limited, New Delhi
  • The xv6 source code is available via git clone git://

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: