Introduction: What is operating system? History of operating system, Operating system concepts, Operating system structure, Processes and Threads, Interprocess communication, Scheduling, Classical IPC problems, Memory Management, No memory abstraction, Virtual memory, Page replacement algorithms, Design issues for paging systems, Implementation issues, File Systems, Files, Directories, File system management, Input / Output, Principles of I/O hardware, Principles of I/O software, I/O software layers, Disks, Clocks, Thin clients, Deadlocks, Resources Detection, Recovery, Avoidance, Prevention, Virtualization and Cloud.