Introduction, services provided by OS, functions of OS, system calls. Process management-introduction, process control block, process states, process context switch, threads: user-level and kernel level.
CPU scheduling, goals of scheduling, CPU scheduling algorithms: FCFS, SJF, SRTF, RR, Priority-based. Inter-process communication: process cooperation and synchronization, race condition, critical section, mutual exclusion and implementation, semaphores, classical inter-process communication problems.
Deadlocks: System Model, deadlock characterization-necessary conditions, resource allocation graph (RAG), methods for handling deadlock-deadlock avoidance, deadlock detection, deadlock prevention, recovery from deadlock. Memory management techniques-contiguous and non-contiguous, paging and segmentation, translation lookaside buffer (TLB) and overheads. Virtual memory and demand paging, page faults, page replacement algorithms, thrashing and working set model. File systems-introduction, disk space management and space allocation strategies, directory structures, disk caching, disk arm scheduling strategies: FCFS, SSTF, SCAN, CSACN, LOOK, CLOOK, File Organization: Sequential, Index, Index Sequential.
LAB OUTLINE
Experiments dealing with installation of LINUX OS, basics of Linux command, write a shell script for simple programs.
RECOMMENDED BOOKS
- Abraham Silberschatz, Greg Gagne, Peter B. Galvin, “Operating System Concepts”, Wiley, 10th edition, 2018, ISBN: 978-1-119-32091-3 or latest edition.
- Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, “Operating systems: Three easy pieces”, Arpaci-Dusseau Books LLC, 1st Edition, 2016.
- Ann Mchoes and Ida M. Flynn, “Understanding Operating Systems”, Cengage Learning, 8th edition, 2018, ISBN13: 9781305674257 or latest edition.
- William Stallings, “Operating Systems: Internals and Design Principles”, Pearson, 9th edition, 2018, ISBN-13: 9780134670959 or latest edition.