per person /


Home Courses

Operating System Concepts

Operating System Concepts


Suvendu Kumar Nayak


Core Courses

Course Attendees

Still no participant

Course Reviews

Still no reviews

Course Name : Operating System Concepts

Code(Credit) :CUTM1032 (1-1-1)

Course Objectives

To understand the services provided by and the design of an operating system.

To understand the structure and organization of the file system.

To understand what a process is and how processes are synchronized and scheduled.

To understand different approaches to process management, management and resource management

To understand the data structures and algorithms used to implement an OS.

Learning Outcomes

Demonstrate understanding of the concepts, structure and design of operating Systems

Demonstrate understanding of operating system design and its impact on application system design and performance

Demonstrate competence in recognizing and using operating system features.

Course Syllabus

Module I: Overview and System Call (4 Hrs)

What is an OS,  Computer System Organization, OS Design , Major OS Services System Call and Its Types,  Concurrent Programming


1.Copy from one file to another using unbuffered I/O system calls

2.Print contents of a directory using system calls to open and read directory contents

3.Infinite loop - kill by sending SIGINT signal through ctrl C or kill command

Module II: Linux Commands and Utilities ( 3 Hrs)

su, sudo, cat, man,ls,kill, ps, top,   more, less, head, tail,cp,rm, info, passwd, chage,  ssh(Remote  Login), Changing Login Shell, grep ,lpr,  lpq, sort, uniq, file, pipe( Communication between processes),echo, date, script, tar,bzip2,xz,gzip,which, whereis, locate,  who ,w, free


4.Gaining Root privilege with su and sudo

5.Archiving and compressing of files

6.Creating user , setting up password and managing password policies

7.Login to remote system through SSH

8.Monitoring Linux process using top and ps

9.Communication between process using pipe

Module III:  File System (3 Hrs)

The Hierarchical Filesystem, Directory Files and Ordinary Files , The Working Directory ,Your Home Directory, Pathnames, Relative Pathnames ,Working with Directories , Access Permissions ,ACLs: Access Control Lists, Hard Links  Symbolic Links


10.Demonstration of Hierarchical File System in Linux

11.Controlling Access to Files with Linux File System Permission

12.Controlling Access to Files with ACL

Module IV: Vi Editor (3 Hrs)

Using vim to Create and Edit a File , Introduction to vim Features, Moving the Cursor, Input Mode, Deleting and Changing Text, Searching and Substituting, Copying, Moving, and Deleting Text,  The General-Purpose Buffer


13.Create , Edit, Save and Exit a File

14.Edit a System File with Vim by Using Maximum Editing Feature

Module V : Shell Scripting (4 Hrs)

About bash , Variables, Array, Operators, Decision Making, Loop Controls, Functions, I/O redirections


15.Write a script to demonstrate decision making and loop control

16.Write a script to demonstrate array and function

17. Write a script to demonstrate I/O redirection

Module VI: Process and Thread Management ( 5 Hrs)

Process Concepts, Process State , Process Schedulers , Context switch , Inter-process Communication,Thread Overview, Multi-threading Models, Process Synchronization, Scheduling Concepts, Scheduling Criteria , Scheduling Algorithms (FCFS, SJF, PRIORITY,RR)


18.Process creation using fork()

19.Write a  program to simulate producer-consumer problem using semaphores

20.Write a multi-threaded program

21.Write a  program to simulate the following  CPU scheduling algorithms to find turnaround time and waiting time.

a) FCFS b) SJF c) Round Robin d) Priority

Module VII:Resource and Memory Management (5Hrs)

Deadlock Characterization , Deadlock Prevention, Deadlock Avoidance, Deadlock Detection and Recovery,Swapping ,Contiguous  Memory Allocation , Paging ,segmentation


22.Write a  program to simulate Bankers algorithm for the purpose of deadlock avoidance.

23.Write a  program to simulate page replacement algorithms

a) FIFO b) LRU c) LFU


Text Books:

1.A Practical Guide to Linux Commands, Editors, and Shell Programming, by Mark G. Sobell, Prentice Hall, 2013

2.Operating System Concepts, by ABRAHAM SILBERSCHATZ , PETER BAER GALVIN, GREG GAGNE , Wiley, Ninth Edition, 2013


Projects :

1.Making Your Own Linux Shell

2.Creating Linux Kernel Modules

3.The Dining Philosophers Problem

4.Adding Your Own System Call To Linux Kernel

5.Disk Scheduler

6.Library Management System Using Shell Scripting

Session Plan

Session 1

Session 2

Session 3 & 4

Session 5 & 6

Session 7

File archiving , compression and backup (tar,bzip2,xz,gzip)


Session 8

The Hierarchical Filesystem, Pathnames, Relative Pathnames,Directory Files and Ordinary Files , The Working Directory ,Your Home Directory


Session 9

Session 10

Session 12 & 13

Mastering vi ( Editing a file with advanced features)

Session 14

About Shell , Create and run a shell scripting,  variable , operator


Session 15 & 16

Session 17

Session 18

Process Concepts, Process State , Process Schedulers , Context switch


Session 19

Session 20

Thread Overview, Multi-threading Models


Session 21

Session 22

Session 23

Deadlock characterization,  Deadlock prevention


Session 24 & 25

Session 26

Swapping ,Contiguous  Memory Allocation

OSC-session 26-PDF

Session 27

Page Replacement Algorithms ( FIFO ,OPTIMAL, LRU)

OSC-session -27-PDF

Session 28

Project Execution Time

Session 29

Project Execution Time

Session 29

Project Execution Time

Session 30

Project Execution Time

Recent Comments

    Our Main Teachers

    Suvendu Kumar Nayak

    Faculty, Dept. of Computer Science & Engineering, SoET

      He is currently working as an Assistant Professor in the Department of Computer Science and Engineering under Centurion University of Technology and Management, Odisha. He is pursuing his Ph.D. in the field of Information Security at  Centurion University of Technology & Management and received, MTech (CS) Degree from Berhampur University in the year 2009. […]