Operating Systems: Virtualization, Concurrency & Persistence
INTERACTIVE COURSE

Operating Systems: Virtualization, Concurrency & Persistence

Intermediate

477 Lessons

40h

Certificate of Completion

Operating Systems: Virtualization, Concurrency & Persistence
116 Playgrounds
39 Quizzes
463 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 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 ...Show More

Course Content

1

Introduction

2

Virtualization: Processes

3

Virtualization: Process API

4

Virtualization: Direct Execution

5

Virtualization: CPU Scheduling

6

Virtualization: Multi-Level Feedback

10 Lessons

7

Virtualization: Lottery Scheduling

13 Lessons

8

Virtualization: Multi-CPU Scheduling

12 Lessons

9

Virtualization: Address Space

8 Lessons

10

Virtualization: Memory API

10 Lessons

11

Virtualization: Address Translation

10 Lessons

12

Virtualization: Segmentation

11 Lessons

13

Virtualization: Free Space Management

9 Lessons

14

Virtualization: Introduction to Paging

10 Lessons

15

Virtualization: Translation Lookaside Buffers

11 Lessons

16

Virtualization: Advanced Page Tables

10 Lessons

17

Virtualization: Swapping: Mechanisms

11 Lessons

18

Virtualization: Swapping: Policies

16 Lessons

19

Virtualization: Complete VM Systems

14 Lessons

20

Concurrency: Concurrency and Threads

12 Lessons

21

Concurrency: Thread API

10 Lessons

22

Concurrency: Locks

20 Lessons

23

Concurrency: Locked Data Structures

8 Lessons

24

Concurrency: Conditional Variables

10 Lessons

25

Concurrency: Semaphores

13 Lessons

26

Concurrency: Concurrency Bugs

11 Lessons

27

Concurrency: Event-Based Concurrency

12 Lessons

28

Persistence: I/O Devices

13 Lessons

29

Persistence: Hard Disk Drives

13 Lessons

30

Persistence: Redundant Disk Arrays (RAID)

14 Lessons

31

Persistence: Files and Directories

19 Lessons

32

Persistence: File System Implementation

12 Lessons

33

Persistence: Fast File System

11 Lessons

34

Persistence: FSCK and Journaling

10 Lessons

35

Persistence: Log-Structured File System

17 Lessons

36

Persistence: Flash-based SSDs

16 Lessons

37

Persistence: Data Integrity and Protection

14 Lessons

38

Distribution: Distributed Systems

10 Lessons

39

Distribution: Network File System (NFS)

14 Lessons

40

Distribution: Andrew File System (AFS)

13 Lessons

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.

2x Faster Learning — With No Setup

Videos are holding you back. Educative‘s interactive, text-based lessons accelerate learning — no setup, downloads, or alt-tabbing required.

AI-Powered Learning

Learn faster and smarter with adaptive AI tools embedded in every Educative course.

Progress You Can Show

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

Recommended Courses

BEFORE STARTING THIS COURSE

AFTER FINISHING THIS COURSE

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath