CS 134a. 3-3-3
Computing systems
Prerequisites: CS24 or permission of the instructor.
Operating systems, monolithic and micro-kernels, virtual machines.
Naming, memory management, segmentation, paging, and virtual memory.
Filesystems and I/O. Threads, processes, scheduling, locks, semaphores,
and mutual exclusion. Security policies, access-control, certificate-passing,
and language-based security.
CS134b. 3-6-3
Computing systems, compilers, and languages
Prerequisites: CS134a or permission of the instructor.
Programming models and languages for operating systems. Execution
environments, storage management, and operating system interfaces.
Binding mechanisms, abstraction, optimization, and code generation.
Parsing and lexical analysis. Students will build a working compiler.
CS134c. 3-3-3
Advanced computing systems
Prerequisites: CS134b or permission of the instructor.
Programming and computing environments. Parallel and distributed
operating systems, cache coherency, virtual network paging, SIMD
and MIMD models. Language-based operating systems. Modular kernels,
kernel/user abstraction weakening. Naming, distributed security
policy, resource management. Mobile code. Execution models for
non von-Neumann machines.