Operating System - Syllabus

Embark on a profound academic exploration as you delve into the Operating System course (OS) within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS251) 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 

This course includes the topics that help students understand operating system and it's functionality along with its types.

Course Objectives 

The general objectives of this subject are to provide the basic feature, function and interface with the hardware and application software to run the computer smoothly.

Units

Introduction to Operating System

History, Introduction and Generation of Operating System, Objectives(Resource Manager and Extended Machine), Types of Operating system, Function of Operating system.


Operating System Structure
Introduction, Layered System, Kernel, Types of Kernel (Monolithic/Macro Kernel and Micro / Exo-Kernel), Client-Server Model, Virtual Machines, Shell.
Process Management

Process Concepts: Definitions of Process, The Process Model, Process States, Process State Transition, The Process Control Block,Operations on Processes (Creation, Termination, Hierarchies, Implementation), Cooperating Processes, System Calls (Process Management, File Management, Directory Management).

Threads: Definitions of Threads, Types Of Thread Process(Single and Multithreaded Process), Benefits of Multithread, Multithreading Models (Many-to-One-Model, One-to-OneModel, Many-to-Many Model).

Inter-Process Communication and Synchronization: Introduction, Race Condition, Critical Regions, Avoiding Critical Region: Mutual Exclusion And Serializability; Mutual Exclusion Conditions, Proposals for Achieving Mutual Exclusion: Disabling Interrupts, Lock Variable, Strict Alteration (Peterson's Solution), The TSL Instruction, Sleep and Wakeup, Types of Mutual Exclusion (Semaphore, Monitors, Mutexes, Message Passing, Bounded Buffer), Serializability: Locking Protocols and Time Stamp Protocols; Classical IPC Problems (Dinning Philosophers Problems, The Readers and Writers Problem, The Sleeping Barber's Problem).

Process Scheduling: Basic Concept, Type of Scheduling (Preemptive Scheduling, Nonpreemptive Scheduling, Batch, Interactive, Real Time Scheduling), Scheduling Criteria or Performance Analysis, Scheduling Algorithm(Round-Robin, First Come First Served, Shortest-Job- First, Shortest Process Next, Shortest Remaining Time Next, Real Time, Priority Fair Share, Guaranteed, Lottery Scheduling, HRN, Multiple Queue, Multilevel Feedback Queue); Some Numerical Examples on Scheduling.


Deadlocks

System Model, System Resources: Premptable and Non-Preemptable; Conditions for Resource Deadlocks, Deadlock Modeling, The OSTRICH Algorithm, Method of Handling Deadlocks, Deadlock Prevention, Deadlock Avidance: Banker's Algorithm, Deadlock Detection: Resource Allocation Graph, Recovery from Deadlock.


Memory Management

Basic Memory Management: Introduction, Memory Hierarchy, Logical Versus Physical Adress Space, Memory Management with Swapping: Memory Management with Bitmaps and with Linked List; Memory Management without Swapping, Contigous-Memory Allocation: Memory Protection, Memory Allocation, Fragmentation(Inter Fragmentation and External Fragmentation); Mom-Contiguous Memory Allocation, Fixed Partitioning Vs. Variable Partitioning, Relocation and Protection, Coalescing and Compaction.

Virtual Memory: Background, Paging, Structure of Page Table: Hierarchical Page Table, Hashed Page Table, Inverted Page Table, Shared Page Table, Block Mapping Vs. Direct Mapping, Demand Paging, Page Replacement and Page Faults, Page Raplacement Algorithms:FIFO,OPR,LRU, SCP; Some Numerical Examples on Page Replacement, Thrashing, Segementation, Segmentation With Paging. 


Input/Output Device Management

Principle of I/O Devices, Device Controllers, Memory Mapped I/O, Direct Memory Acess; Principle of I/O Software: Goals of I/O Software, Program I/O, Interrupt - Driven I/O, I/O Using DMA; I/O Software Layers: Interrupts Handler, Device Drivers, Device Independent I/O Software, User-Space I/O Software; Disk Hardware; Disk Scheduling: Seek Time, Rational Delay, Transfer Time; Disk Scheduling Algorithms: FCFS Scheduling, SSTF Scheduling, SCAN Scheduling, C-SCAN Scheduling, Lock Scheduling


File System Interface Management

File Concept: File Naming, File Type, File Access, File Attributes, File Operation and File Operation and File Descriptors: Ddirectories: Single-Level Directory Systems, Hierarchical Directory Syatems, Patth Names, Directory Operation; Access Methods: Sequential, Directory Operation; Access methods: Sequntial, Direct;  Protection: Types of Acess Control List, Access Control Matrix


Security Management
Introduction, Security Problems, User Authentication: Passwords, password Vulnerabilities, Encrypted password, One Time Password and Biometries password; User Authorization, Program Threats: Trojan Horse, Trap Door,  Stack and Buffer Overflow; System Threats: Worms, Viruses, Denial of Services.
Distributed Operating System

Introduction. Advantages of Distributed System over Centralized System. Advantages of Distributed System over Independent PCs, Disadvantages of Distributed System, Hardware and Software Concepts, Communication in Distributed Systems, Message Passing, Remote Procedure Call, Process in Distribution System, Clock Synchronization. 



Case Study

DOS and Windows Operating System, Unix Operating System, Linux Operating System 


Lab works

Laboratory Works 

Lab works should be done covering all the topics listed above and a small project work should be carried out using the concept learnt in this course. Project should be assigned on Individual Basis.