Operating System
Year / Semester: 
3rd Semester

Unit 1: Introduction to Operating System
What is an operating system, batch system, multi-programmed system, time-sharing system, personal computer operating system, parallel systems, distributed systems, real-time systems.

Unit 2: Processes
Process (process models, process hierarchies, process states), Threads (what is thread and its use, design issues of thread).

Unit 3: Interprocess Communication
What is interprocess communication, race conditions, critical-sections, mutual exclusion, solution to race condition, disabling interrupt, peterson’s solution, sleep & wake up (The Producer Consumer Problem) and Semaphores.

Unit 4: Scheduling
Basic concepts, primitive and non-primitive scheduling, scheduling algorithms, types of scheduling - batch, interactive and real-time, goals of scheduling algorithms, first come first serve, shortest job first and round robin scheduling.

Unit 5: Deadlocks
What is deadlock, principles of deadlock (deadlock conditions & modeling), deadlock detection, recovery & prevention, deadlock avoidance (Banker’s algorithm)

Unit 6: Memory Management
Multiprogramming(with fixed partitions, relocation and protection).What is swapping and its basic concepts. Virtual Memory – Basic Concepts, Paging, Page Tables. Page replacement algorithms: - Optimal, Not Recently Used, First In First Out, Least Recently Used.

Unit 7: File System
What is file, file naming, file types(directory, regular, device), sequential access and random access files, file attributes, operations on file, hierarchical directory structure, path name(relative and absolute), operation on directories. File System Implementation Techniques.

Unit 8: I/O Management
Basic principles I/O Hardware, I/O Devices, Device controllers, DMA. Principles of I/O Software, its goals, Interrupt Handlers, Device Drivers, Device Independent I/O Software(its functions)

Unit 9: Security and Protection
Security threats and goals, Authentication, Protection and Access control, Formal model of protection, Cryptography.


Suggested Readings: 

1. Abraham Siberschatz and Peter Baer Galvin, “Operating System Concepts”, Fifth Edition, Addision-Wesley
2. Milan Milankovic, “Operating Systems, Concepts and Design”, McGraw-Hill.
3. Harvey M Deital, "Operating Systems", Addison Wesley
4. Richard Peterson, “Linux: The Complete Reference”, Osborne McGraw-Hill.