TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Operating System

Operating System focuses on managing computer hardware and software resources. It covers process management, memory management, file systems, and concurrency, enabling efficient and secure system operation.

Select University

TUPUPoUFWU

Select Program

BSC-CSITBDSBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . Operating System . TU . BDS

Operating System

0%

Course Title: Operating System

Course No: BDS202

Nature of the Course: Theory + Lab

Semester: 3

Full Marks: 45 + 30

Pass Marks: 18 + 12

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Operating System
1.1. Abstract view of Computer system
1.2. Introduction of Operating System
1.3. OS as Extended Machine and Resource Manager
1.4. Evolution of Operating System
1.5. Types of OS
1.6. Function of Operating System
1.7. System Call
1.8. Operating System Structures (Layered, Monolithic, Microkernel)
1.9. Kernel
1.10. Shell
1.11. Case Study: UNIX, LINUX, Windows
2. Processes Management
2.1. Process, Process and Program
2.2. 5 State Process Model
2.3. Process Creation
2.4. Process Control Block
2.5. Context Switching
2.6. Threads
2.7. Thread vs Process
2.8. User and Kernel Level Threads
2.9. Inter Process Communication
  • Race Condition
  • Mutual Exclusion
  • Critical Regions
2.10. Implementing Mutual Exclusion
  • Mutual Exclusion with Busy Waiting (Disabling Interrupts, Lock Variables, Strict Alteration, Peterson's Solution, Test and Set Lock)
  • Producer Consumer Problem
  • Semaphore
  • Operation on Semaphore
  • Solution to producer consumer problem using Semaphore
  • Message Passing
  • Classical IPC problem: Dining Philosopher Problem, Readers Writer, Sleeping Barber (Concept Only)
2.11. Process Scheduling
  • Introduction
  • Preemptive and non Preemptive Scheduling
  • Scheduling Criteria
  • Batch System Scheduling (First-Come First Served, Shortest Job First, Shortest Remaining Time Next)
  • Interactive System Scheduling (Round-Robin Scheduling, Priority Scheduling)
  • Multilevel Scheduling Concept
3. Deadlocks
3.1. Introduction
3.2. Deadlock Characterization
3.3. Preemptable and Non-preemptable Resources
3.4. Resource Allocation Graph
3.5. Conditions for Resource Deadlock
3.6. Handling Deadlocks
  • Ostrich Algorithm
  • Deadlock prevention
  • Safe and Unsafe state
  • Deadlock Avoidance: Banker's Algorithm
  • Deadlock Detection
  • Recovery from Deadlock (Through Preemption and Rollback)
4. Memory Management
4.1. Introduction
4.2. Logical and Physical Address Spaces
4.3. Monoprogramming vs. Multiprogramming
4.4. Modelling Multiprogramming
4.5. Relocation and Protection
4.6. Memory Management with Swapping
  • Bitmaps
  • Linked-list
4.7. Memory Allocation Strategies
  • Fixed-partition strategies
  • Variable-partition strategies
4.8. Virtual memory
  • Paging
  • Page Table
  • Structure of Page Table
  • Multilevel Page Table
  • Logical to Physical Address Translation
  • TLB
  • Page Fault
  • Handling Page Faults
  • Page Replacement Algorithms: FIFO, LRU, Optimal, LFU, Second Chance and Replacement
  • Concept of Locality of Reference
  • Segmentation
  • Segmentation with Paging (Multics)
5. File Management
5.1. File Overview
  • File Naming
  • File Structure
  • File Types
  • File Access
  • File Attributes
  • File Operations
5.2. Single Level, two Level and Hierarchical Directory Systems
5.3. File System Layout
5.4. Implementing Files
  • Contiguous allocation
  • Linked List Allocation
  • Inode
  • Directory Operations
  • Path Names
  • Directory Implementation
  • Shared Files
5.5. Free Space Management
  • Bitmaps
  • Linked List
5.6. Case Study: UNIX File Management, Linux Virtual File System, Windows File System
6. Device Management
6.1. Classification of I/O devices
6.2. Controllers
6.3. Memory Mapped I/O
6.4. DMA Operation
6.5. Goals of I/O Software
6.6. Handling I/O (Programmed I/O, Interrupt Driven I/O, I/O using DMA)
6.7. I/O Software Layers (Interrupt Handlers, Device Drivers)
6.8. Disk Structure
6.9. Disk Scheduling (FCFS, SSTF, SCAN, CSCAN, LOOK, CLOOK)
6.10. Disk Formatting (Cylinder Skew, Interleaving)
6.11. RAID
6.12. RAID Levels (Up to 5)
7. Distributed Operating System
7.1. Basic Concepts of Distributed System
7.2. Design Goals
7.3. Types of Distributed System

Laboratory Works

  1. 1.LINUX and MS-DOS Commands
  2. 2.Process creation, termination in any operating system
  3. 3.Thread Creation using POSIX Library
  4. 4.Implementation of process scheduling algorithms
  5. 5.Implementation of solution to critical section problem
  6. 6.Implementation of Banker algorithm
  7. 7.Implementation of memory allocation techniques
  8. 8.Implementation of page replacement algorithm
  9. 9.Implementation of disk scheduling algorithm

Reference Books

  1. 1.Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition, Prentice-Hall.
  2. 2.Silberschatz, Galvin and Gagne, Operating System Concepts, 6th Edition, Addition Wesley.
  3. 3.Stallings, W. (2009). Operating systems: Internals and Design Principles. Prentice Hall.
  4. 4.Van Steen, M., & Tanenbaum, A. S. (2017). Distributed systems. Create space Independent Publishing Platform.

Notes:

Source:

The course covers fundamental concepts of operating system as well as, Process management, Memory management, File systems, and I/O Managements and Disk Managements.
The main objective of this course is to introduce different concepts of operating system and its components and functions.
The laboratory work includes solving problems in operating system covering all the listed topics in the syllabus.

This syllabus follows the official Bachelor in Data Science curriculum of Tribhuvan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.