This course covers operating systems history, basic issues in concurrency, deadlock control, synchronization, scheduling, memory management, process management, resource management, protection, access control, implementation of parts of a small operating system.