Grade "A+" Accredited by NAAC with a CGPA of 3.46
Grade "A+" Accredited by NAAC with a CGPA of 3.46

Operating System

Course ID
B.Sc. CS (Hons.)
Paper Type
Core Course
Lecture & Practical

Unique Paper Code: Update Awaited

The course introduces the students to different types of operating systems. Operating system modules such as memory management, process management and file management are covered in detail.

Learning Outcomes:

At the end of the course, students should be able to:

  • Implement multiprogramming, multithreading concepts for a small operating system.
  • Create, delete, and synchronize processes for a small operating system.
  • Implement simple memory management techniques.
  • Implement CPU and disk scheduling algorithms.
  • Use services of modern operating system efficiently.
  • Implement a basic file system.

Course Contents

Unit 1
Unit 2
Unit 3
Unit 4
Unit 5

Unit 1

Introduction: Operating systems (OS) definition, Multiprogramming and Time Sharing operating systems, real time OS, Multiprocessor operating systems, Multicore operating systems, Various computing environments.

Unit 2

Operating System Structures: Operating Systems services, System calls and System programs, operating system architecture (Micro Kernel, client server) operating.

Unit 3

Process Management: Process concept, Operation on processes, Multi-threaded processes and models, Multicore systems, Process scheduling algorithms, Process synchronization. The Critical-section problem and deadlock characterization, deadlock handling.

Unit 4

Memory Management: Physical and Logical address space; Memory allocation strategies – Fixed and Variable Partitions, Paging, Segmentation, Demand Paging and virtual memory, Page Replacement algorithm.

Unit 5

File and I/O Management: Directory structure, File access methods, Disk scheduling algorithms.


Lab List 1

  1. Write a program (using fork() and/or exec() commands) where parent and child execute: a) same program, same code. b) same program, different code. – c) before terminating, the parent waits for the child to finish its task.and/or exec() commands) where parent and child execute:
  2. Write a program to report behaviour of Linux kernel including kernel version, CPU type and model. (CPU information)
  3. Write a program to report behaviour of Linux kernel including information on 19 configured memory, amount of free and used memory. (memory information)
  4. Write a program to print file details including owner access permissions, file access time, where file name is given as argument.
  5. Write a program to copy files using system calls.
  6. Write a program to implement FCFS scheduling algorithm.
  7. Write a program to implement Round Robin scheduling algorithm.
  8. Write a program to implement SJF scheduling algorithm.
  9. Write a program to implement non-preemptive priority based scheduling algorithm.
  10. Write a program to implement preemptive priority based scheduling algorithm.

Lab List 2

  1. Write a program to implement SRJF scheduling algorithm.
  2. Write a program to calculate sum of n numbers using thread library.
  3. Write a program to implement first-fit, best-fit and worst-fit allocation strategies.

Additional Information

Text Books

Silberschatz, A., Galvin, P. B., & Gagne, G. (2008). Operating Systems Concepts. 8th edition.. John Wiley Publications.

Additional Resources

Dhamdhere, D. M. (2006). Operating Systems: A Concept-based Approach. 2nd edition. Tata McGraw-Hill Education.
Kernighan, B. W., & Rob Pike, R. (1984). The Unix programming environment (Vol. 270). Englewood Cliffs, NJ: Prentice-Hall.
Stallings, W. (2018). Operating Systems: Internals and Design Principles. 9th edition. Pearson Education.
Tanenbaum, A. S. (2007). Modern Operating Systems. 3rd edition. Pearson Education.

Teaching Learning Process

Use of ICT tools in conjunction with traditional class room teaching methods
Interactive sessions
Class discussions

Assessment Methods

Written tests, assignments, quizzes, presentations as announced by the instructor in the class


Types of operating systems, memory management, process management, file and I/O management.

Disclaimer: Details on this page are subject to change as per University of Delhi guidelines. For latest update in this regard please refer to the University of Delhi website here.

English English हिन्दी हिन्दी