Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling and protection; memory organization and management, including virtual memory; I/O device management, secondary storage and file systems. Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling and protection; memory organization and management, including virtual memory; I/O device management, secondary storage and file systems. Concurrency at the hardware, programming language, and operating system level. CS 240 was previously entitled "Operating Systems & Systems Programming" during Falls of 2009, 2010 and 2012.