UCLA Computer Science 111, fall 2023.
Operating Systems Principles

Instructor: Paul Eggert. See Bruin Learn for office hours.

Teaching assistants, with contact information and office hours published on Bruin Learn:

Discussion sections:

Lecture, 4 hours; laboratory, 2 hours; outside study, 9 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 Curricula 2013 (CS2013) knowledge units:

Related IEEE Software Engineering Body of Knowledge (SWEBOK) 3.0 topics:

Related Computer Engineering Curricula 2016 (CE2016) knowledge units:

These curriculum guidelines evolve; see Computing Curricula 2020 Paradigms for Global Computing Education (CC2020).