UCLA Computer Science 111, Winter 2019.
Operating Systems Principles
Instructor: Paul Eggert, Engineering VI 363.
Office hours are Mondays 14:15–15:15 and Thursdays 11:00–12:00.
Teaching assistants, with office hours published
on CCLE:
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:
- OS/Overview of Operating Systems
- OS/Operating System Principles
- OS/Concurrency
- OS/Scheduling and Dispatch
- OS/Memory Management
- OS/Security and Protection
- OS/Virtual Machines
- OS/Device Management
- OS/File Systems
- OS/System Performance Evaluation
- PD/Communication and Coordination
- PD/Distributed Systems
- IAS/Foundational Concepts in Security
- IAS/Threats and Attacks
- NC/Networked Applications
- SF/Cross-Layer Communications
- SF/Resource Allocation and Scheduling
- SF/Virtualization and Isolation
- SF/Reliability through Redundancy
Related IEEE/ACM Software Engineering
2004 (SE2004) bodies of knowledge:
- CMP.cf.4. Abstraction – use and support for (encapsulation, hierarchy, etc.)
- CMP.cf.10. Operating system basics
- CMP.cf.12. Network communication basics
- CMP.ct.1. API design and use
- CMP.ct.2. Code reuse and libraries
- CMP.ct.10. Concurrency primitives (e.g., semaphores, monitors, etc.)
- CMP.ct.14. Performance analysis and tuning
- CMP.ct.15. Platform standards (POSIX etc.)
- FND.ef.4. Systems development (e.g., security, safety, performance, effects of scaling, feature interaction, etc.)
Related Computer
Engineering Curricula 2016 (CE2016) knowledge units:
- CE-CAL-9. Scheduling algorithms
- CE-SEC-3. Data security and integrity
- CE-SRM-3. Managing system resources
- CE-SRM-4. Real-time operating system design
- CE-SRM-6. Support for concurrent processing
- CE-SRM-8. Support for virtualization
- CE-SWD-11. Event-driven and concurrent programming
- CE-SWD-12. Using application programming interfaces
© 2004–2017, 2019 Paul Eggert.
See copying rules.
$Id: index.html,v 1.74 2019/01/07 19:10:16 eggert Exp $