This course introduces the fundamentals of operating systems design and implementation, a central topic in computer systems. An operating system defines an abstraction of hardware behavior with which programmers can control the hardware. It also manages resource sharing among the computer's users. The topics in this area explain the issues that influence the design of contemporary operating systems.