This is an introductory course in computer operating systems. In this course, we will study the theoretical and practical concepts behind modern operating systems. In Particular, we will study the basic structure of an operating system, its components, design strategies, algorithms and schemes used to design and implement different components of an operating system.