author-cover

Operating Systems: Virtualization, Concurrency & Persistence

477 Lessons
39 Quizzes
116 Playgrounds
481 Illustrations

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 cov...

How You'll Learn

Hands-on coding environments

You don’t get better at swimming by watching others. Coding is no different. Practice as you learn with live code environments inside your browser.

Faster than videos

Videos are holding you back. The average video tutorial is spoken at 150 words per minute, while you can read at 250. That‘s why our courses are text-based.

No set-up required

Start learning immediately instead of fiddling with SDKs and IDEs. It‘s all on the cloud.

Progress you can show

Built-in assessments let you test your skills. Completion certificates let you show them off.

Hands-on coding environments

You don’t get better at swimming by watching others. Coding is no different. Practice as you learn with live code environments inside your browser.

Faster than videos

Videos are holding you back. The average video tutorial is spoken at 150 words per minute, while you can read at 250. That‘s why our courses are text-based.

No set-up required

Start learning immediately instead of fiddling with SDKs and IDEs. It‘s all on the cloud.

Progress you can show

Built-in assessments let you test your skills. Completion certificates let you show them off.

Course Contents

1. Introduction
2. Virtualization: Processes
3. Virtualization: Process API
4. Virtualization: Direct Execution
5. Virtualization: CPU Scheduling
6. Virtualization: Multi-Level Feedback
7. Virtualization: Lottery Scheduling
8. Virtualization: Multi-CPU Scheduling
9. Virtualization: Address Space
10. Virtualization: Memory API
11. Virtualization: Address Translation
12. Virtualization: Segmentation
13. Virtualization: Free Space Management
14. Virtualization: Introduction to Paging
15. Virtualization: Translation Lookaside Buffers
16. Virtualization: Advanced Page Tables
17. Virtualization: Swapping: Mechanisms
18. Virtualization: Swapping: Policies
19. Virtualization: Complete VM Systems
20. Concurrency: Concurrency and Threads
21. Concurrency: Thread API
22. Concurrency: Locks
23. Concurrency: Locked Data Structures
24. Concurrency: Conditional Variables
25. Concurrency: Semaphores
26. Concurrency: Concurrency Bugs
27. Concurrency: Event-Based Concurrency
28. Persistence: I/O Devices
29. Persistence: Hard Disk Drives
30. Persistence: Redundant Disk Arrays (RAID)
31. Persistence: Files and Directories
32. Persistence: File System Implementation
33. Persistence: Fast File System
34. Persistence: FSCK and Journaling
35. Persistence: Log-Structured File System
36. Persistence: Flash-based SSDs
37. Persistence: Data Integrity and Protection
38. Distribution: Distributed Systems
39. Distribution: Network File System (NFS)
40. Distribution: Andrew File System (AFS)
author-cover

Join more than 1.7 million learners from companies like