This course introduces the basic concepts used to structure computer operating systems. Examples of notions introduced and discussed are batch processing, multiprogramming, input/output, pooling, interrupt handling, processes, descriptors, process synchronization, interprocess communication, memory management, virtual memory, caching, buffers, naming, files, interactive command interpreters, and processor scheduling.
This course gives an introduction to the basic concepts used to structure modern operating systems. In this very fast paced field of computing, the goal of the class is to explain those concepts and principles that are likely to survive for many years to come. The course is a departure point for research in operating and distributed systems.
Please see Prerequisites page.
Restricted to undergraduate students with sophomore, junior, and senior standing. Graduate students will be allowed as space permits.
Fall, Winter, Spring. Please see Tentative Course Offerings page.