Explore operating systems through virtualization, concurrency, and persistence, covering CPU scheduling, process virtualization, locks, semaphores, and hands-on work with I/O devices and file systems.
Intermediate
477 Lessons
40h
Certificate of Completion
Explore operating systems through virtualization, concurrency, and persistence, covering CPU scheduling, process virtualization, locks, semaphores, and hands-on work with I/O devices and file systems.
AI-POWERED
AI-POWERED
This course includes
This course includes
Course Overview
When it comes to operating systems, there are three main concepts: virtualization, concurrency, and persistence. These concepts lay the foundation for understanding how an operating system works. In this extensive course, you'll cover each of those in its entirety. You'll start by covering the basics of CPU virtualization and memory such as: CPU scheduling, process virtualization, and API virtualization. You will then move on to concurrency concepts where you’ll focus heavily on locks, semaphores, and how ...
TAKEAWAY SKILLS
C
Operating Systems
Virtualization
Concurrency
Course Content
Introduction
Virtualization: Processes
Virtualization: Process API
Virtualization: Direct Execution
Virtualization: CPU Scheduling
Virtualization: Multi-Level Feedback
10 Lessons
Virtualization: Lottery Scheduling
13 Lessons
Virtualization: Multi-CPU Scheduling
12 Lessons
Virtualization: Address Space
8 Lessons
Virtualization: Memory API
10 Lessons
Virtualization: Address Translation
10 Lessons
Virtualization: Segmentation
11 Lessons
Virtualization: Free Space Management
9 Lessons
Virtualization: Introduction to Paging
10 Lessons
Virtualization: Translation Lookaside Buffers
11 Lessons
Virtualization: Advanced Page Tables
10 Lessons
Virtualization: Swapping: Mechanisms
11 Lessons
Virtualization: Swapping: Policies
16 Lessons
Virtualization: Complete VM Systems
14 Lessons
Concurrency: Concurrency and Threads
12 Lessons
Concurrency: Thread API
10 Lessons
Concurrency: Locks
20 Lessons
Concurrency: Locked Data Structures
8 Lessons
Concurrency: Conditional Variables
10 Lessons
Concurrency: Semaphores
13 Lessons
Concurrency: Concurrency Bugs
11 Lessons
Concurrency: Event-Based Concurrency
12 Lessons
Persistence: I/O Devices
13 Lessons
Persistence: Hard Disk Drives
13 Lessons
Persistence: Redundant Disk Arrays (RAID)
14 Lessons
Persistence: Files and Directories
19 Lessons
Persistence: File System Implementation
12 Lessons
Persistence: Fast File System
11 Lessons
Persistence: FSCK and Journaling
10 Lessons
Persistence: Log-Structured File System
17 Lessons
Persistence: Flash-based SSDs
16 Lessons
Persistence: Data Integrity and Protection
14 Lessons
Distribution: Distributed Systems
10 Lessons
Distribution: Network File System (NFS)
14 Lessons
Distribution: Andrew File System (AFS)
13 Lessons
Course Author
Trusted by 1.4 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Carlos Matias La Borde
Software Developer
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Eric Downs
Musician/Entrepeneur
Kenan Eyvazov
DevOps Engineer
Souvik Kundu
Front-end Developer
Eric Downs
Musician/Entrepeneur
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
See how Educative uses AI to make your learning more immersive than ever before.