A study of operating systems and their design and implementation. Topics include the evolution of modern computer operating systems, basic components of an operating system, and hardware issues of importance to operating system design and implementation. Consideration is given to processes and threads, resource (processor, memory, device, and software) management, process and device scheduling, deadlocks, input/output, file systems, and system security. A representative operating system is examined in detail. One laboratory per week. Prerequisite: Computer Science 210. Offered in alternate years.