Fundamental topics in computer architecture and operating systems, including parallel systems. Topics include processor and memory organization, address translation, and caching; implementation of processes, scheduling, and synchronization; memory management; device management and file systems; protection and authorization; distributed programming, fault tolerance, availability, and network management; multiprocessor architectures, cache coherence, and scalability. Course projects include the modification and enhancement of a small operating system.
Students taking this course at the 400 level will be required to complete additional readings and/or assignments.
Prerequisite: CSC 252. (Spring)
Last changed 8/23/2007 by Marty Guenther (marty@cs.rochester.edu)