Examines the major operating system concepts in the context of modern operating systems such as UNIX, Linux, and Windows. Topics include process management, synchronization, memory management, file systems, protection and security. Topics are examined from both the operating system and programmer perspectives. In addition, the course discusses more advanced system administration topics. Prerequisites: CPSC 230, 320.