Operating System
0%
Course Title: Operating System
Course No: CACS251
Nature of the Course: Theory + Lab
Semester: 4
Full Marks: 20 + 20 + 60
Pass Marks: 8 + 8 + 24
Credit Hours: 3
Course Description
Course Objectives
Course Contents
3. Process Management
15 hrs
3.1. 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)
3.2. Threads
- Definitions of Threads
- Types of Thread Process (Single and Multithreaded Process)
- Benefits of Multithread
- Multithreading Models (Many-to-One Model, One-to-One Model, Many-to-Many Model)
3.3. 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
- 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 (Dining Philosophers Problems, The Readers and Writers Problem, The Sleeping Barber's Problem)
3.4. 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
4. Deadlocks
4 hrs
5. Memory Management
7 hrs
5.1. Basic Memory Management
- Introduction, Memory Hierarchy
- Logical Versus Physical Address Space
- Memory Management with Swapping
- Memory Management with Bitmaps and with Linked List
- Memory Management without Swapping
5.2. Contiguous-Memory Allocation
- Memory Protection, Memory Allocation
- Fragmentation (Internal and External Fragmentation)
- Non-Contiguous Memory Allocation, Fixed Partitioning Vs. Variable Partitioning
- Relocation and Protection, Coalescing and Compaction
5.3. 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 Replacement Algorithms: FIFO, OPR, LRU, SCP
- Some Numerical Examples on Page Replacement
- Thrashing, Segmentation, Segmentation With Paging
Laboratory Works
- 1.Laboratory Works
Text Books
- 1.Andrew S. Tanenbaum, “Modern Operating System 4/e”, PHI, 2011/12
- 2.Silberschatz, P.B. Galvin, G. Gagne, “Operating System Concepts 8/e”, Wiley India, 2014 ISBN: 9788126520510
Reference Books
- 1.Andrew S. Tanenbaum, “Distributed Operating System”, Pearson
- 2.D M Dhamdhere, “System Programming and Operating System”, Tata McGraw-Hill, 2009
- 3.P. Pal Choudhury, “Operating Systems Principles and Design”, PHI, 2011