Operating System (IOPS332C, 3-1-1)


AUTUMN 2018-19
Section B (Tuesday 11:15-1:15, Thursday 10:00-11:00)

Venue: Room-5107, CC3 Building





Course Outline:


OS Basics : Definition, Operating Systems as resource manager, Evolution of OS, Structural overview,Types of OS; System Calls, Types of System Call, Hardware requirements: protection, context switching, privileged mode;

Process Management: Processes, Process Concept, Process Scheduling, Operations on Processes, Interprocess Communication;

Threads : Overview, Multithreading Models, Threads and their Management; Tools and Constructs for Concurrency, Detection and Prevention of deadlocks,

CPU Scheduling : Scheduling Criteria, Scheduling Algorithms, Multiple-Processor Scheduling

Process Synchronization : The Critical-Section Problem, Peterson's Solution, Synchronization Hardware, Monitors, Semaphores, Classic Problems of Synchronization

Deadlocks : System Model, Dynamic Resource Allocation, Deadlock Characterization, Methods for Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery From Deadlock

Memory Management: Main Memory Basics, Swapping, Contiguous Memory Allocation, Paging, Structure of the Page Table, Segmentation, Basics of Virtual Memory, Demand Paging, Page Replacement, Allocation of Frames, Thrashing

Storage Management : Design of IO systems, File Management, Memory Management: paging, virtual memory management, Distributed and Multiprocessor Systems, Case Studies, File Concept, Protection, Access Methods, Directory Structure, File-System Mounting, File Sharing, File-System Structure File-System Implementation, Directory Implementation, Allocation Methods, Mass-Storage Structure, Overview of Mass-Storage, Disk Scheduling, Disk Management

xv6: The entire course will be based on the xv6 operating system (a teaching operating system developed in the summer of 2006 for MIT's operating systems course) https://pdos.csail.mit.edu/6.828/2014/xv6.html





1.      Abraham Silberschatz Peter B. Galvin and Greg Gagne, Operating System Concepts, Wiley 8th Edition, 2008. [Slides Available Here]

2.      Garry. J. Nutt, Operating Systems: A Modern Perspective, Addison-Wesley

3.      Andrew S. Tanenbaum and Herbert Bros, Modern Operating Systems (4th Edition), Pearson

4.      William Stallings , Operating Systems: Internals and Design Principles, Prentice Hall of India

5.      D. M. Dhamdhere , Operating Systems: A Concept-Based Approach, Tata McGraw-Hill

5.      Russ Cox, Frans Kaashoek, Robert Morris , xv6: a simple, Unix-like teaching operating system [Download]





Important Instructions:

1.         Classes will be conducted using slide presentation as well as chalk-board. Official slide sets and miscellaneous study materials from some of the main text books will be uploaded on the web site on a regular basis.

2.         Every student is expected to have access to at least the book by Silberschatz-Galvin-Gagne.

3.         Attendance in the classes is mandatory. If the attendance of a student falls below 75%, he/she may expect a "F Grade"

4.         The course will consist of laboratory and take-home assignments, which has to be done very seriously. If a student does not submit the assignments, his/her grade will remain as incomplete.

5.         Grading Policy :

o   20%: Mid-semester examination (closed book/notes)

o   50%: End-semester examination (closed book/notes)

o   10%: Quiz (closed book/notes)

o   10%: Homework Assignments (open book/notes)

o   10%: Attendance

6.         Homework assignments and Tutorials : Announcements for Tutorial classes (maximum likelihood for Saturdays every week) will be made on the course web-site. Homeworks will be posted on the website at the beginning of a module. These assignments will help you prepare for your mid-sem and end-sem. You will have to explain your solution to the TAs during tutorial classes.










Lecture Slides:


Sl. No.


Homework Assignments



Homework Set 1


Fundamental Concepts : Process, Interrupt, System Calls