CS 194: Advanced Operating Systems Structures and Implementation

CS 194: Advanced Operating Systems Structures and Implementation (Spring 2013, UC Berkeley). Instructor: Professor John Kubiatowicz. The purpose of this course is to teach the design of Operating Systems through both academic study and by making modifications to a modern OS (Linux). Topics we will cover include concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, and synchronization; memory allocation, segmentation, paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; basic networking, protocols, and distributed file systems, protection, security, and privacy.

What is an Operating System?

Lecture 01 - What is an Operating System?
Lecture 02 - TDD (Test-Driven Design), BDD (Behavior-Driven Design), and all that
Lecture 03 - OS Structure: Monolithic, Microkernel, Exokernel, Multikernel
Lecture 04 - OS Structure (cont.): Modern Architecture
Lecture 05 - Processes, Fork, Exec, Interprocess Communication/Optimization
Lecture 06 - Parallelism and Synchronization
Lecture 07 - Synchronization and Scheduling Review
Lecture 08 - Synchronization Approaches
Lecture 09 - Synchronization (cont.), Scheduling Review
Lecture 10 - Scheduling (cont.), Real-Time Scheduling
Lecture 11 - Scheduling (cont.), Real-Time Scheduling
Lecture 12 - Dominant Resource Fairness (DRF), Two-Level Scheduling
Lecture 13 - Two-Level Scheduling (cont.), Segmentation/Paging/Virtual Memory
Lecture 14 - Segmentation, Paging, Virtual Memory
Lecture 15 - Virtual Memory and Paging
Lecture 16 - Virtual Memory and Paging (cont.), Devices
Lecture 17 - Device Drivers: Slab Allocator
Lecture 18 - Device Drivers (cont.): IO Buses, Interrupts, Device Driver Structure
Lecture 19 - Disk Modeling, File Systems Intro
Lecture 20 - File Systems (cont.): Reliability, Journaling, Durability, Scheduling
Lecture 21 - File Systems (cont.): Distributed Storage, File Cache, Virtual Filesystem Switch
Lecture 22 - Distributed File Systems (cont.): VFS Layer, Application-Specific File Systems
Lecture 23 - Application-Specific File Systems, Deep Archival Storage, Security and Protection
Lecture 24 - Security and Protection (cont.)
Lecture 25 - The Swarm, Extreme Distributed Storage, Quantum Computing

CS 194-24: Advanced Operating Systems Structures and Implementation, Spring 2013
Instructor: Professor John Kubiatowicz. Overview. Information. Resources. Lecture Notes. Laboratory. Handouts.