Prerequisites: CS 326 and CS 419 or permission of the instructor. (Second semester/3 credits)
A comprehensive introduction to the fundamental principles of operating systems illustrated by examples from contemporary systems. This course emphasizes the design tradeoffs involved in operating system design. Topics include: process management; concurrency; deadlock; cpu scheduling; memory management; disk management; files systems; security; and distributed, real-time and multiprocessor operating systems.