The course on the concepts behind operating systems - the software that manages a computer’s hardware. It provides a basis for application programs and interface between the user and computer hardware. Operating systems are everywhere, in cars, home appliances, smart phones, personal computers, enterprise computers, and in clouds. The course explores the role of an operating system in a modern computing environment starting with the organization and architecture of computer hardware - CPU, memory, I/O devices and storage. Operating system is responsible to allocate these resources to programs. Operating system is large and complex, consisting of pieces that are well-delineated portion of the system, with carefully defined inputs, outputs, and functions. The course covers data structures used in operating systems, computing environments, and open-source and free operating systems. It describes the fundamental concepts behind operating systems, and examines the ways that design goals can be achieved.