The course concentrates on the design and functions of the operating systems of multi-user computers. Its topics include time sharing methods of memory allocation and protection, files, CPU scheduling, input-output management, interrupt handling, deadlocking and recovery and design principles. The course discusses one or more operating systems for small computers, such as UNIX.