Fundamentals of Operating System: Definition and types of operating systems, Batch Systems, multi programming, time–sharing parallel, distributed and real-time systems, Operating system structure, Operating system components and services, System calls, system programs, Virtual machines.
Process and Thread Management: Process concept, Process scheduling, Cooperating processes, Threads, Inter-process communication, CPU scheduling criteria, Scheduling algorithms, Multiple-processor scheduling, Real-time scheduling and Algorithm evaluation.
Concurrency Control: The Critical-Section problem, synchronization hardware, Semaphores, Classical problems of synchronization, Critical regions, Monitors, Dining philosopher and producer consumer problem using semaphores or monitors. Deadlocks-System model, Characterization, Deadlock prevention, Avoidance and Detection, Banker’s Algorithm.
Memory Management: Swapping, Contiguous Allocation, Paging, Segmentation with paging virtual Memory, Demand paging and its performance, Page replacement algorithms, Allocation of frames, Thrashing, Page Size and other considerations, Demand segmentation, File systems, secondary Storage Structure, File concept, access methods, directory implementation, Efficiency and performance, recovery, Disk structure, Disk scheduling methods, Disk management, Recovery, Disk structure, Disk scheduling methods, Disk management, Swap-Space management, Disk reliability.
Protection and Security-Goals of protection, Domain of protection, Access matrix, Implementation of access Matrix, Revocation of Access Rights, language based protection, The Security problem, Authentication, One Time passwords, Program threats, System threats, Threat Monitoring, Encryption.