The course is an introduction to the structure and organization of operating systems. It begins with a brief overview of the different types of logical structure and organization of modern operating systems. It takes a look at the major design problems of an operating system, including process management, scheduling, synchronization and communication, memory management, security, and file system design and structure. The focus of the course is not on the details of any particular operating system, but on the concepts of operating system design. Concrete examples are given to clarify concepts, and these may often be drawn from a variety of operating systems, but most will come from UNIX, since it is, among existing operating systems, one of the most sensibly designed and most elegant.