This module aims at making students learn about basic concepts of operating systems.
What is an Operating System, Simple Batch Systems, Multiprogrammed Batched Systems, Time-Sharing Systems, Personal-Computer Systems, Parallel Systems, Distributed Systems, and Real-Time Systems.
Operating-System Structures: System Components, Operating System Services, System Calls, System Structure, Virtual Machines.
Process Management: Process Concept, Process Scheduling, Operation on Processes.
CPU Scheduling: Basic Concepts, Scheduling Criteria, Scheduling Algorithms (FCFS, SJF, Priority, Round-Robin, Multilevel Queue, Multilevel Feedback Queue) Multiple-Processor Scheduling. Process Synchronization: Background, The Critical-Section Problem, Introduction to Semaphores. Deadlocks: System Model, Deadlock Characterization.
Deadlocks: Methods for Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, and Recovery from Deadlock. Memory Management: Background, Logical versus Physical Address space, Swapping, Contiguous allocation (fragmentation), Paging, Segmentation.
Virtual Memory: Background, Demand Paging, Page Replacement, Page-replacement Algorithms (FIFO, Optimal, LRU, Counting). File Management: File Concepts (Operations & Attributes), Access Methods, Directory Structure, File System Structure, Allocation Methods (Contiguous Allocation, Linked Allocation, Indexed Allocation).
1. A. Silbersachatz and P.Galvin, “Operating System Concepts”, Addison-Wesley, 5th Ed., 2001.
1. Tannenbaum, “Operating Systems”, PHI, 4th Edition, 2000.
2. Madnick E., Donovan J., “Operating Systems”, Tata McGraw Hill, 2001.
3. Achyut S. Godbole, “Operating Systems”, Tata Mc-Graw Hill Publishing Company Limited 2000.
4. Gary Nutt, “Operating System A Modern Perspective (Second Edition)”, Pearson Education 2000.