Fundamentals of Operating Systems

Appreciate Compute, Networking and Storage Systems

Build efficient software by understanding how the kernel works. Remove guessing, frustration and hope and instead understand everything behind the code you author.

BUY NOW

28,000+

Engineers enrolled

4.7

2,950 ratings

English

Course Language

Last Updated

August 2026

Course Overview Video

 

19 hours on-demand video

20 downloadable resources

Access on mobile and TV

Full lifetime content access

Certificate of Completion

 

What you'll learn

  • Learn how operating systems work
  • Understand how applications run within the OS
  • Write efficient applications leveraging the understanding OS works
  • Understand the cost of system calls
  • Understand how CPU executes processes
  • The role of the kernel
  • CPU Architecture and Caches
  • Virtual Memory
  • Socket Programming
  • Storage and File system management

 

 

Fundamentals of Operating Systems

 $19.99

One Time Purchase 

Buy Now

Course Description

Operating systems orchestrate many processes, allow access to memory, disk and network and execute the process by scheduling them to the CPU. Sounds simple when we put it this way but this task is vast. So vast indeed that writing programs that are efficient really depends on how much understanding the engineer has in operating systems.

I have been fascinated by revealing and demystifying anything that is hidden from me, mainly because by treating black boxes as black boxes that takes input and produces output, I feel that I am at the mercy of this black box. Databases were a black box for me a decade ago, I was at completely lost when a query that I wrote was originally running fast but after few month it had gone slow. The reason is I didn't really have any understanding of database systems and how their internals work.

The same thing is true for operation systems, we run our program which turns into a process that uses bit of memory and access disk and network but we really don't know how this is done and as a result we as engineers are bound to write inefficient code. 

I built this course to demystify what I believe are the fundamentals operating systems to software engineers. Like all my courses, I recommend the student having some programming experience to take this course, it just makes the course relatable. I will be using multiple operating systems like Linux, Windows and Mac in this course.

I hope you enjoy it. Check Out The Curriculum Below!

Curriculum

  1. Before we start

    4 lessons
    1. Welcome
    2. Who is this course for?
    3. Course Overview and Outline (must watch)
    4. Downloadable content
  2. Why an OS?

    3 lessons
    1. Why an OS - Module Intro
    2. Why do we need an Operating System?
    3. System Architecture Overview
  3. The Anatomy of a Process

    9 lessons
    1. Anatomy of a Process Module Intro
    2. Program vs Process
    3. Simple Process Execution
    4. The Stack
    5. Process Execution with Stack
    6. Data Section
    7. The Heap
    8. Process Section Demo
    9. Process Quiz
  4. Memory Management

    7 lessons
    1. Memory Management Section Intro
    2. The Anatomy of Memory
    3. Reading and Writing from and to Memory
    4. Virtual Memory
    5. DMA
    6. Memory Section Demo
    7. Memory Quiz
  5. Inside the CPU

    7 lessons
    1. Inside the CPU Section Intro
    2. CPU Components and Architecture
    3. Instruction Life Cycle
    4. Pipelining and Parallelism
    5. Inside the CPU Demo - CPU Wait Times
    6. Inside the CPU Quiz
    7. Inside the CPU Quiz
  6. Process Management

    8 lessons
    1. Process Management Section Intro
    2. Process vs Thread
    3. Context Switching
    4. Concurrency
    5. Demo Process Management
    6. When Do You Use Threads? (Article)
    7. Process Quiz
    8. Process Quiz
  7. Storage Management

    7 lessons
    1. Storage Management Section Intro
    2. Persistent Storage
    3. File Systems
    4. What Really Happens in a File I/O?
    5. Storage Management Demo
    6. Storage Management Quiz
    7. Storage Quiz
  8. Socket Management

    9 lessons
    1. Socket Management Section Intro
    2. Network Fundamentals
    3. Sockets, Connections and Kernel Queues
    4. Sending and Receiving Data
    5. Socket Programming Patterns
    6. Asynchronous I/O
    7. Socket Management Demo
    8. Socket Management Quiz
    9. Socket Quiz
  9. More OS Concepts

    5 lessons
    1. OS Concepts Section Intro
    2. Compilers and Linkers
    3. Kernel vs User Mode Switching
    4. Virtualization and Containerization
    5. Course Summary

Join the Membership Plan

Pick the option that fits how you want to learn. Buy standalone courses or get full access to all courses as long as you have an active membership plan.

Single-Course

$19.99/course

Buy once, own it forever

  • Purchase a specific course
  • Lifetime course access
  • Full HD video & HQ audio
  • Extra course attachments & exercises
  • Certificate of Completion
  • Risk-free: 15 Days Refund Period
BUY NOW

Monthly Membership

$19.99/month

Become a Member

  • Access to all courses
  • 250+ hours of content
  • Full HD video & HQ audio
  • Extra course attachments & exercises
  • Certificate of Completion
  • Priority Support
  • Risk-free: 15 Days Refund Period
JOIN NOW

Yearly Membership

$199.99/year

Save on Yearly Membership

  • Save compared to monthly
  • Access to all courses
  • 250+ hours of content
  • Full HD video & HQ audio
  • Extra course attachments & exercises
  • Certificate of Completion
  • Priority Support
  • Risk-free: 15 Days Refund Period
JOIN NOW