The purpose of this course is to provide an overview of computer operating systems. A successful student will be able to understand the basic components of an operating system, and the interactions among the various components. The course will cover an introduction on the policies for scheduling, deadlocks, memory management, synchronization, system calls, and file systems. The course comprises of  System Components, Operating Systems Services, System Calls, System Programs, System Structure, Virtual Machine, System Design and Implementation, System Generation, Processes, Threads, Inter-process Communication