How does data move from a hard drive to memory to a CPU? How does a computer deal with input from a mouse and keyboard? How does one computer communicate with another, or many others? This class examines how operating systems interact with computer hardware to provide higher-level programming abstractions. Students will use the C programming language to explore topics such as processes, virtual memory, concurrency, threads, and networking.
Prerequisite Courses