CS3500 - Operating Systems

Course Data :


This course will teach the fundamentals of computer Operating Systems.

Syllabus Outline

  • Process Management Scheduling (essential topics: context-switch, unix fork, scheduling algorithms representing fairness, infinite wait, optimal scheduling, priority inversion)
  • Synchronization Primitives and Problems, Deadlocks (essential topics: Peterson's algorithm, monitors)
  • Memory Management Virtual Memory, Demand Paging (essential topics: fragmentation, pinning, Belady's anomaly, thrashing)
  • File systems; I/O Management (essential topics: DMA, delayed writes, elevator algorithm). Security.
  • The Lab part shall include experiments that shall illustrate booting of a system, implementation of process, memory, file and I/O management concepts, preferably using a popular operating system as a case study.

    Text Books

    • Operating Systems Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Wiley, 2012.
    • The Design of the Unix Operating System Maurice Bach, Prentice Hall, 1988.


    • Modern Operating Systems, Andrew S Tanenbaum and Herbert Bos, Fourth Edition, Pearson Education, 2014.
    • Operating Systems: Principles and Practice, Thomas Anderson and Michael Dahlin, Recursive Books, 2014.



Credits Type Date of Introduction
3-0-0-6-6-15 Core Jul 2015

Previous Instances of the Course

© 2016 - All Rights Reserved - Dept of CSE, IIT Madras
Website Credits