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 |