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