One the most complex software systems ever assembled, the modern operating system serves as the interface between humans and the hardware they use. This course examines how the simple goal of resource sharing gives rise to some of the most challenging problems and significant breakthroughs in computer science. Topics include process and thread management, input/output, CPU scheduling, synchronization, memory management, and virtual memory. Students learn to navigate the intricacies of low-level programming, parallelism, and synchronization. All programming assignments and projects use the C programming language.

Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 250 with a grade of C- or higher.
Course UID
001317.1
Course Subject
Catalog Number
456
Long title
Operating Systems