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.