CS 240 Computing Systems and Concurrency

Prerequisite: solid computer programming skills. 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.