CS 194: Advanced Operating Systems Structures and Implementation (Spring 2013, UC Berkeley). Instructor: Professor John Kubiatowicz.

FREE
This course includes
Hours of videos

694 years, 4 months

Units & Quizzes

25

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

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