Syllabus Operating Systems - (CS25C11) Basics Of Operating Systems : History and Evolution of Operating Systems - Types of Operating Systems - Operating Systems structures - Functions of Operating Systems - challenges of Operating Systems - Unix & Linux Operating Systems. (Chapter - 1) Practicals • Installation of a Linux OS. • Linux commands and shell scripting System Calls and Process Management : System Calls-Process Concepts and Lifecycle, Process Control Block (PCB) - Context Switching - Threading Models, Process vs Thread -Process Creation and Termination - Case study. (Chapter - 2) Practicals • Process Creation using fork(), exec(), wait(). • Multi-threading using POSIX threads. CPU Scheduling : Scheduling Criteria and Objectives-Scheduling Algorithms - Preemptive and non-preemptive scheduling. (Chapter - 3) Practicals • Implementation and generation of Gantt chart o FCFS and SJF. o Round Robin, Priority and Multilevel Queue. Synchronization and Deadlocks : Concurrency Issues and Critical Section Problem -Synchronization Tools : Mutex, Semaphores-Deadlock : Necessary Conditions, Prevention, Avoidance, Detection, and Recovery. (Chapter - 4) Practicals • Producer-Consumer and Readers-Writers problem • Dead Lock. Memory Management : Memory Allocation : Contiguous, Paging, Segmentation-Virtual Memory, Demand Paging, Page Replacement Algorithms (FIFO, LRU, Optimal). (Chapter - 5) Practicals • Page replacement algorithms. • Dynamic memory allocation and deallocation. File Systems and I/O Management : File System Concepts - Directory and File Access Control - I/O Management - Disk Scheduling Buffering, Caching - Case study. (Chapter - 6) Practicals • File operations and file buffering. • Disk scheduling algorithms.