IOE Syllabus – Operating System OS












: II




Course Objective:

The objective of the course is to be familiar with the different aspects of operating system and use the idea in designing operating system.

1. Introduction

(5 hours)

1.1.Operating System and Function

1.2.Evolution of Operating System

1.3.Type of Operating System: Batch, Interactive, Multiprocessing, Time Sharing and Real Time System

1.4.Operating System Components

1.5.Operating System Structure: Monolithic, Layered, Micro‐Kernel, Client‐Server, Virtual Machine

1.6.Operating System Services

1.6.1.System calls

1.6.2.Shell commands

1.6.3.Shell programming

1.7.Examples of O. S.: UNIX, Linux, MS‐Windows, Handheld OS.

2. Process Management

(6 hours)

2.1.Introduction to Process

2.1.1.Process description

2.1.2.Process states

2.1.3.Process control


2.3.Processes and Threads


2.4.1.Types of scheduling

2.4.2.Scheduling in batch system

2.4.3.Scheduling in Interactive System

2.4.4.Scheduling in Real Time System

2.4.5.Thread Scheduling

2.5.Multiprocessor Scheduling concept

3. Process Communication and Synchronization

(5 hours)

3.1.Principles of Concurrency

3.2.Critical Region

3.3.Race Condition

3.4.Mutual Exclusion

3.5.Semaphores and Mutex

3.6.Message Passing


3.8.Classical Problems of Synchronization: Readers‐Writers Problem, Producer Consumer Problem, Dining Philosopher problem

4. Memory Management

(6 hours)

4.1.Memory address, Swapping and Managing Free Memory Space

4.2.Resident Monitor

4.3.Multiprogramming with Fixed Partition

4.4.Multiprogramming With Variable Partition

4.5.Multiple Base Register

4.6.Virtual Memory Management



4.6.3.Paged Segmentation

4.7.Demand Paging


4.9.Page Replacement Algorithms

4.10.Allocation of Frames


5. File Systems

(6 hours)

5.1.File: Name, Structure, Types, Access, Attribute, Operations

5.2.Directory and File Paths

5.3.File System Implementation

5.3.1.Selecting Block Size

5.3.2.Impact of Block Size Selection

5.3.3.Implementing File: Contiguous Allocation, Link List Allocation, Link List Allocation with Table, Inode

5.3.4.Implementing Directory

5.4.Impact of Allocation Policy on Fragmentation

5.5.Mapping File Blocks on The Disk Platter

5.6.File System Performance

5.7.Example File Systems: CD ROM file system, MS‐DOS file system, Unix File system

6. I/O Management & Disk Scheduling 

6.1. Principles of I/O Hardware

6.2. Principles of I/O software

6.3. I/O software Layer

6.4. Disk

6.4.1. Hardware

6.4.2. Formatting

6.4.3. Arm scheduling

6.4.4. Error handling

6.4.5. Stable Storage
7. Deadlock  (5 hours) 

7.1. Principles of deadlock

7.2. Deadlock Prevention

7.3. Deadlock Avoidance

7.4. Deadlock Detection

7.5. Recovery from deadlock

7.6. An Integrated Deadlock Strategies

7.7. Other Issues: Two phase locking, Communication Deadlock, Livelock,

8. Security 

8.1. Security breaches

8.2. Types of Attacks

8.3. Security Policy and Access Control

8.4. Basics of Cryptography

8.5. Protection Mechanisms

8.6. Authentication

8.7. OS Design Considerations For Security

8.8. Access Control Lists And OS Support    (4 hours)

9. System administration 

9.1. Administration Tasks

9.2. User Account Management

9.3. Start And Shutdown Procedures

9.4. Setting up Operational Environment for a New User

9.5. AWK tool, Search, Sort tools, Shell scripts, Make tool

1. Shell  commands,  shell  programming:  write  simple  functions,  basic  tests,

loops, patterns, expansions, substitutions

2. Programs  using  the  following  system  calls  of  UNIX  operating  system:  fork,

exec, getpid, exit, wait, close, stat, opendir,  readdir

3.  Programs using the I/O system calls of UNIX operating system

4.  Implement the Producer – Consumer problem using semaphores.

5.  Implement some memory management schemes

Reference Books: 

1. Andrew S. Tanenbaum, “Modern Operating Systems”, 3 rd  Edition, PHI

2. Stalling William, “Operating Systems”, 6th Edition, Pearson Education

3. Silbcrschatz A.,Galvin P., Gagne G., “Operating System Concepts”, 8 th

Edition, John Wiley and Sons,

4. Milan Milenkovic, “Operating Systems Concepts and Design”, TMGH

5. Das Sumitabha, “Unix Concepts and Applications”, 3 rd  Edition, Tata McGraw

Hill, 2003

6. M. J. Bach, “The Design of The Unix Operating System”, PHI.

7. Charles Crowley, “Operating Systems: A Design‐oriented Approach”, TMH.

We're always listening.
Have something to say about this article? Find us on Facebook, Twitter or our LinkedIn.
Raju Dawadi
Raju Dawadi
Raju is currently actively involved in DevOps world and is focused on Container based architecture & CI/CD automation along with Linux administration. Want to discuss with him on any cool topics? Feel free to connect on twitter, linkedIn, facebook.


  1. Ashutosh Ghimire says:

    It’d be better if marks distribution could be added.

  2. Astha says:

    Could you enlist the marks distribution too ?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.