Course Outline: Introduction: What is operating system? History of operating system Operating system concepts Operating system structure Processes and Threads Processes 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.