Operating Systems: Virtualization, Concurrency & Persistence

Operating Systems: Virtualization, Concurrency & Persistence

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

Explanations
Adaptive Learning

AI-POWERED

Explanations
Adaptive Learning

This course includes

116 Playgrounds
39 Quizzes

This course includes

116 Playgrounds
39 Quizzes

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

TAKEAWAY SKILLS

C

Operating Systems

Virtualization

Concurrency

Course Content

1.

Introduction

Get familiar with OS fundamentals including CPU, memory virtualization, concurrency, and persistence.
2.

Virtualization: Processes

Unpack the core of process virtualization, state transitions, and management within operating systems.
4.

Virtualization: Direct Execution

Apply your skills to virtualize CPUs, manage concurrency, and measure OS performance efficiently.
9.

Virtualization: Address Space

8 Lessons

Explore the evolution of operating systems, focusing on memory management and virtualization.
10.

Virtualization: Memory API

10 Lessons

Master the steps to manage and allocate memory efficiently using UNIX/C memory APIs.
11.

Virtualization: Address Translation

10 Lessons

Grasp the fundamentals of address translation, memory management, and hardware support.
13.

Virtualization: Free Space Management

9 Lessons

Investigate free space management, allocation strategies, memory allocators, and practical simulations.
14.

Virtualization: Introduction to Paging

10 Lessons

Build on paging as a memory management technique addressing fragmentation and exploring translation challenges.
21.

Concurrency: Thread API

10 Lessons

Master the steps to create and manage threads using POSIX Thread API and synchronization methods.
23.

Concurrency: Locked Data Structures

8 Lessons

Get started with concurrent data structures, lock management, and performance optimization techniques.
26.

Concurrency: Concurrency Bugs

11 Lessons

Map out the steps for understanding and handling concurrency bugs, focusing on deadlocks and prevention.

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

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

FOR TEAMS

Interested in this course for your business or team?

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