Instructor: Paul Eggert, Boelter 4532J. Office hours are Mondays 11:50–12:50 and Wednesdays 11:00–12:00.
Assistant: Jong Han (Jonathan) Park <jpark@cs.ucla.edu>. Office hours are Wednesdays 15:00–17:00 in Boelter 4428 (except that they are in Boelter 3770 on October 7 and 14 due to office renovations).
Assistant: Keith Stevens <kstevens@cs.ucla.edu>. Office hours are Tuesdays and Thursdays 14:30–15:30 in Boelter 4428.
Lecture, 4 hours; laboratory, 2 hours; outside study, 6 hours.
Prerequisites: Computer Science 32, 33, and 35L.
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 Computer Science Curriculum 2008 (CS2008) bodies of knowledge:
Related IEEE/ACM Software Engineering 2004 (SE2004) bodies of knowledge: