This course deals with all essential concepts of operating systems. Starting with describing role of an operating system in managing different tasks during the processing operation. The course explains the process concept, in particular process description within an OS environment and its scheduling strategies. Also, it covers: memory management, virtual memory, I/O management and disk scheduling, file management. Mutual exclusion and synchronization, deadlock and starvation concepts and algorithms are discussed in details in this course supported with LAB work.