CS 520 Introduction to Operating Systems
The use and internals of modern operating systems. Lectures focus on internals, whereas programming assignments focus on use of the operating system interface. Major topics include: the process concept; concurrency and how to program with threads; memory management techniques, including virtual memory and shared libraries; file system data structures; and I/O. Undergraduate course in computer architecture (computer organization), data structures and algorithms, and proficiency in programming in Java, C, or C++. Undergraduates not allowed to enroll.