This page contains Syllabus of Operating Systems of BIT.

Title Operating Systems
Short Name OS
Course code BIT204
Nature of course Theory + Lab
Third Semester
Full marks 60+20+20
Pass marks 24 + 8 + 8
Credit Hrs 3
Elective/Compulsary Compulsary

Course Description

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.

Units and Unit Content

1. Introduction and Evolution
teaching hours: 6 hrs

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

2. System Structures
teaching hours: 5 hrs

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

3. Process Management and Synchronization
teaching hours: 10 hrs

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

4. Memory Management and File Systems
teaching hours: 13 hrs

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

5. Input / Output Management
teaching hours: 12 hrs

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 and Practical works

 ▪ Process creation, termination in any operating system

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