Operating Systems - Syllabus

Embark on a profound academic exploration as you delve into the Operating Systems course (OS) within the distinguished Tribhuvan university's BIT department. Aligned with the BIT Curriculum, this course (BIT204) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60+20+20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.

Course Description: The course covers fundamental concepts of operating system as well as, Process management, Memory management, File systems, and I/O Managements and Disk Managements.

Course Objective: The main objective of this course is to introduce fundamental concepts of operating system and its components and functions.


Introduction and Evolution

1.1 Background of operating system, Operating system as Extended Machine and Resource Manager, History of Operating Systems(First, Second, Third and Fourth generation), Hardware review (Processors, Memory, I/O devices, Buses).

1.2 Evolution of Operating System: batch system, multiprogramming, time-sharing, real-time, mainframe operating systems, multiprocessor operating systems, handheld, embedded, smartcard, distributed and personal computer operating systems

1.3 Operating system Concepts: Booting Computer, Address Spaces, Files, Client-Server Model, Security

System Structures

2.1 Operating system Components: Process Managements, Memory Managements, I/O managements, Operating system services, System calls, System calls for Process, File and Directory management

2.2 Operating system structures: Monolithic system, Layered system, Micro Kernels, Exo Kernels, Virtual Machines, Storage Structures, I/O structures, Files structures, and system Protections

Process Management and Synchronization

3.1 Processes and Threads : Process model, Process creation, Process termination, Process states and transition, Thread model, Thread usage, Implementing thread in user space and Kernel

3.2 Interprocess Communication, Race conditions, , Critical regions, Mutual exclusion with busy waiting, Disabling interrupts, Lock variables, Strict alternation, Peterson’s solution, Sleep and wakeup, The producer consumer problem, semaphores, Mutexes, monitors, message passing, classical IPC problems: The dining philosopher problem

3.3 Process scheduling and Context Switch, Three level scheduling, Scheduling Algorithms: First Come First Serve, Shortest Job First, Priority, Round Robin, Shortest time Remaining First, Multiple queues

3.4 Deadlock, Resources, Deadlock characterization, Deadlock modeling, Methods for handling deadlock, Ostrich algorithm, Deadlock prevention and avoidance, Safe and unsafe states, Banker’s algorithm for single resource and multiple resources, Deadlock detection and recovery

Memory Management and File Systems

4.1 Memory management: Address spaces, Monoprogramming without swapping, Multiprogramming with fixed partitions, Swapping, Memory management with bitmaps and linked list, Overlays, Memory allocations, First fit, Next fir, Best fit, Worst fit, Fragmentations, Virtual memory, Paging, Page tables, Paging hardware, TLB, Page replacements algorithms: Principle of optimality, First in First Out, LRU, LFU, NRU, Second Chance Page replacement, Clock, Working set page replacement, Belady’s anamoly, Stack algorithm, Segmentation, and segmentation with paging

4.2 File systems: File naming, File structure, File types, File access, File attributes, File operations, Access Methods, Directories and Levels, Directories Operations, Single level, two level and hierarchical directory system, File system mounting and sharing, Protection, Access control, File system layout, File system Implementation, Contiguous allocation, Linked list allocation, Linked list allocation using table in memory, Inodes, File system Examples

Input / Output Management

5.1 Input Output management: I/O devices, Devices Controller, Memory Mapped I/O, Direct Memory Access (DMA),Interrupts, I/O software Principles: programmed I/O, Interrupt driven I/O, DMA based I/O, I/O Software Layers, Interrupt handlers, Device drivers, Uniform interface for device drivers, Buffering, Allocating and Releasing dedicated devices

5.2 Disk management: Disk structure, RAID, Disk scheduling, First come first served, Shortest seek time first, SCAN, C-SCAN, LOOK, C-LOOK, Error handling and formatting, Stable storage management

Lab works

 ▪ Process creation, termination in any operating system

▪ Simulating process scheduling, Banker algorithm, page replacement algorithm, disk scheduling algorithm