Instructor: Paul Eggert <eggert@cs.ucla.edu>, Boelter 4532J. Office hours are Mondays 14:00–15:00 and Wednesdays 10:00–11:00.
Assistant: Jaideep Dharap <jaideep@cs.ucla.edu>, Boelter 4428. Office hours Tuesdays and Thursdays 13:00–14:00.
Lecture, 4 hours; laboratory, 2 hours; outside study, 6 hours.
Prerequisites: Computer Science 32, 33.
Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems. Letter grading.
Related IEEE/ACM Computing Curricula 2001 bodies of knowledge: