Introduction
Fundamental concepts, The role of an operating system in computer systems, Operating system structure and operation.
Process Management
Process concept, Process scheduling, Process state, Process management, Co-operating processes, Inter-process communication (IPC), Kernel.
Threads
Basics concept, Multithreading models, Threading issues.
CPU Scheduling
Basic concepts, Scheduling criteria, Scheduling algorithm, Algorithm evaluation.
Process Synchronization
Critical-section problem, Synchronization hardware, Semaphores, Classic problems of synchronization.
Deadlocks
System model, Deadlock characterization, Methods for handling deadlocks, Deadlock prevention, Deadlock avoidance, Deadlock Detection, Recovery from deadlock.
Storage Management
Basic concepts, Swapping, Contiguous memory allocation, Paging, Segmentation, and segmentation with paging.
Virtual Memory
Basic concepts, Demand paging, Page replacement, Thrashing.
File Concept
File support, Access methods, Allocation methods, Directory systems, File protection, Free space management.
Distributed Systems
Types of distributed operating system, Communication protocols.
Distributed File Systems
Naming and transparency, Remote file access.
Protection and Security
Goals of protection, Domain of protection, Access matrix, Implementation of access matrix, The security problem, User authentication, Security system and facilities.
Case Studies
Study of a representative operating system.
Operating Systems