This syllabus has been revised in the recent past with the course number being the same.
Showing the latest revision in section Curriculum 2022. The earlier version is in section Curriculum 2017.

Curriculum 2022

Prerequisite (if any): Foundations of Computing Systems, Systems Programming, Data Structures and Algorithms, Data Structures and Algorithms Lab, Operating Systems Lab (prerequisite/corequisite)

Learning outcome:

  1. Understand how any operating system functions as a middle layer between the hardware of a computer and the user programs and the various tasks involved in this

  2. Appreciate design issues and concepts underlying some of the well known operating systems.

  3. Compare pros and cons of various design options and issues involved in designing an operating system.

Syllabus

UNIX System Calls, Shell, Privileged Instructions, Interrupt handling (6 lectures)

Process Management - Processes and Threads, Scheduling (context-switch, scheduling algorithms, fairness, infinite wait, optimal scheduling, priority inversion) (9 lectures)

Inter-process communication, Synchronization Primitives, Deadlocks (9 lectures)

Memory Management: Virtual Memory, Demand Paging (9 lectures)

File systems: I/O Management, Security. (9 lectures)

Text Books

  1. Modern Operating Systems, Andrew S. Tanenbaum, Herbert Bos, Pearson Education India; Fourth edition 2016. ISBN-13:978- 9332575776

References

  1. Operating Systems: A Design-Oriented Approach, Charles Crowley, International edition, McGraw-Hill Education (ISE Editions). ISBN-13 978 0071144629

  2. Operating Systems Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Wiley, 2015. ISBN-13: 978-8126554270

  3. Operating Systems: Internals and Design Principles William Stallings, Pearson Education India; 7 edition (2013). ISBN-13: 978-9332518803

  4. Linux Kernel Development (Developer's Library), Robert Love, Pearson Education India, 3 edition (2010). ISBN-13: 978-8131758182

Curriculum 2017

Learning Objectives

This course will introduce the student to the basic concepts involved in the design and implementation of an operating system. Students will be made familiar to the important modules of operating systems like process management, memory management, file systems, synchronization primitives and exception handling. Important data structures used in the design of these modules will be introduced. The accompanying lab course CS3510 is intended to give students an illustration of the concepts introduced in the theory course.

Learning Outcomes

Students will be able to develop an understanding of how an operating functions as a middle layer between the hardware of a computer and the user programs and the various tasks involved in this. By the end of this course, students will be able to appreciate the design issues and concepts underlying some of the well known operating systems and compare the pros and cons of various design options and various issues involved in the design of a large software.

Syllabus

  1. Process Management : Scheduling (essential topics: context-switch, unix fork, scheduling algorithms representing fairness, infinite wait, optimal scheduling, priority inversion;
  2. Synchronization Primitives and Problems: Deadlocks (essential topics: Peterson's algorithm, monitors);
  3. Memory Management: Virtual Memory, Demand Paging (essential topics: fragmentation, pinning, Belady's anomaly, thrashing);
  4. File systems: I/O Management (essential topics: DMA, delayed writes, elevator algorithm). Security.

Textbook(s)

  1. Operating Systems: A Design-Oriented Approach, Charles Crowley, International edition, McGraw-Hill Education (ISE Editions). ISBN-13 978 0071144629
  2. Operating Systems Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Wiley, 2015. ISBN-13: 978-8126554270

Reference(s)

  1. Modern Operating Systems, Andrew S. Tanenbaum, Herbert Bos, Pearson Education India; Fourth edition 2016. ISBN-13:978- 9332575776
  2. Operating Systems: Internals and Design Principles William Stallings, Pearson Education India; 7 edition (2013). ISBN-13: 978-9332518803
  3. Linux Kernel Development (Developer's Library), Robert Love, Pearson Education India, 3 edition (2010). ISBN-13: 978-8131758182

Past Offerings

  • Offered in Aug-Nov, 2023 by Jasine Babu
  • Offered in Aug-Dec, 2022 by Sandeep Chandran
  • Offered in Jul-Dec, 2021 by Sandeep
  • Offered in Jul-Dec, 2020 by Sandeep
  • Offered in July-Dec, 2019 by Sandeep
  • Offered in July-Dec, 2018 by Jasine

Course Metadata

Item Details
Course Title Operating Systems
Course Code CS3010
Course Credits 3-0-0-3
Course Category PMT
Proposing Faculty Sandeep Chandran
Approved on Senate 20 of IIT Palakkad
Course status revised