This course introduces the basic facilities provided in modern operating systems.

The course divides into three major sections.

          1) The first part of the course discusses concurrency:how to manage multiple tasks that execute at the same time and share resources.

              Topics in this section include processes and threads, context switching, synchronization, scheduling, and deadlock.

          2)The second part of the course addresses the problem of memory management.

          3)The third major part of the course concerns file systems, including topics such as storage devices, disk management and scheduling,                directories, protection, and crash recovery.