Choose your language
Fundamentals of Operating Systems
More than 2 million students worldwide

Fundamentals of Operating Systems

Master the core principles that power every modern computer system. This course takes you from OS fundamentals through process management, memory systems, file storage, and beyond — building the deep technical knowledge that serious software engineers and systems professionals rely on every day.

Dedika for businesses

What you will learn:

  • Understand how operating systems manage hardware resources, processes, and user interfaces at a foundational level.

  • Analyze CPU scheduling algorithms and apply the right policy for a given workload or performance requirement.

  • Design and evaluate memory management schemes, including paging, segmentation, and virtual memory with demand paging.

  • Identify deadlock conditions, model resource allocation graphs, and implement prevention and avoidance strategies.

  • Trace file system structures, disk allocation methods, and storage scheduling algorithms for efficient data management.

  • Explore advanced topics including virtualization, distributed OS concepts, security mechanisms, and emerging edge computing paradigms.

How you study in practice Fundamentals of Operating Systems

How you practice Fundamentals of Operating Systems

For companies that want to train their team

With Dedika for Business, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

Introduction to Operating Systems

  • Lesson 1 • OS Architecture Overview

    Introduces monolithic, microkernel, and hybrid kernel designs. Prepares students to evaluate trade-offs discussed in later chapters.

  • Lesson 2 • Historical Evolution of Operating Systems

    Traces OS development from batch systems to modern multicore environments. Contextualizes design decisions made in later chapters.

  • Lesson 3 • Definition and Purpose of an OS

    Defines an OS as a resource manager and user interface layer. Establishes the conceptual baseline for all subsequent chapters.

  • Lesson 4 • Major OS Types and Examples

    Surveys general-purpose, real-time, embedded, and mobile OS categories. Helps students match OS type to deployment context.

  • Lesson 5 • System Calls and OS Interfaces

    Explains how applications request OS services through system calls. Connects abstract OS roles to concrete programming interfaces.

Chapter 2See details

Process Management Fundamentals

  • Lesson 1 • Inter-Process Communication Basics

    Introduces pipes, message queues, and shared memory as IPC mechanisms. Sets the stage for synchronization and concurrency chapters.

  • Lesson 2 • Process Creation and Termination

    Covers fork/exec patterns and process hierarchy trees. Explains how parent-child relationships affect resource inheritance.

  • Lesson 3 • Process Concept and Structure

    Defines a process as a program in execution with its own address space. Anchors all scheduling and synchronization topics that follow.

  • Lesson 4 • Context Switching Mechanics

    Details how the OS saves and restores CPU state during a switch. Quantifies the overhead cost relevant to scheduling decisions.

  • Lesson 5 • Process States and Transitions

    Models the five-state process lifecycle from new to terminated. Provides the state machine framework used in scheduling analysis.

Chapter 3See details

CPU Scheduling Algorithms

  • Lesson 1 • Preemptive Scheduling Algorithms

    Examines Round Robin, SRTF, and priority scheduling with preemption. Connects preemption to responsiveness and starvation risks.

  • Lesson 2 • Multilevel Queue Scheduling

    Structures processes into fixed queues with separate scheduling policies. Extends single-queue models to heterogeneous workloads.

  • Lesson 3 • Non-Preemptive Scheduling Algorithms

    Covers FCFS and SJF as baseline non-preemptive policies. Demonstrates convoy effect and optimal burst-time scheduling.

  • Lesson 4 • Multiprocessor and Real-Time Scheduling

    Addresses load balancing, processor affinity, and deadline-driven scheduling. Prepares students for modern multicore and embedded system contexts.

  • Lesson 5 • Scheduling Criteria and Metrics

    Defines CPU utilization, throughput, turnaround, waiting, and response time. Establishes the evaluation framework applied to every algorithm.

Chapter 4See details

Threads and Concurrency

  • Lesson 1 • Thread Libraries and APIs

    Surveys POSIX Pthreads and Java thread APIs for practical implementation. Bridges conceptual thread models to real programming interfaces.

  • Lesson 2 • Synchronization Primitives

    Introduces mutexes, semaphores, and monitors as synchronization tools. Prepares students for deadlock analysis in the next chapter.

  • Lesson 3 • Thread Concept and Benefits

    Defines threads as execution flows sharing a process address space. Motivates multithreading through responsiveness and resource efficiency.

  • Lesson 4 • Race Conditions and Critical Sections

    Identifies race conditions arising from unsynchronized shared data access. Defines the critical section problem and its three required properties.

  • Lesson 5 • User-Level vs. Kernel-Level Threads

    Contrasts thread management in user space versus kernel space. Explains many-to-one, one-to-one, and many-to-many mapping models.

Chapter 5See details

Deadlock Detection and Prevention

  • Lesson 1 • Deadlock Conditions and Modeling

    Presents the four necessary conditions for deadlock using resource allocation graphs. Provides the formal model used in all deadlock strategies.

  • Lesson 2 • Deadlock Detection and Recovery

    Detects deadlock after it occurs and recovers through termination or preemption. Compares detection overhead against prevention and avoidance costs.

  • Lesson 3 • Deadlock Avoidance and Banker's Algorithm

    Maintains a safe state by granting resources only when safety is provable. Implements the Banker's Algorithm for multi-resource environments.

  • Lesson 4 • Resource Allocation Graph Analysis

    Uses directed graphs to detect deadlock cycles in single-instance resources. Extends to multi-instance resources with wait-for graphs.

  • Lesson 5 • Deadlock Prevention Strategies

    Eliminates deadlock by negating one of the four necessary conditions. Evaluates trade-offs in resource utilization and system throughput.

Chapter 6See details

Memory Management Techniques

  • Lesson 1 • Multilevel and Inverted Page Tables

    Reduces page table memory overhead using hierarchical and inverted designs. Addresses scalability challenges in 64-bit address spaces.

  • Lesson 2 • Paging and Page Tables

    Eliminates external fragmentation by mapping fixed-size pages to frames. Explains page table structure, TLB operation, and effective access time.

  • Lesson 3 • Contiguous Memory Allocation

    Covers fixed and variable partition allocation with first-fit, best-fit, and worst-fit strategies. Introduces internal and external fragmentation problems.

  • Lesson 4 • Memory Hierarchy and Address Binding

    Describes the memory hierarchy from registers to secondary storage. Explains compile-time, load-time, and execution-time address binding.

  • Lesson 5 • Segmentation and Combined Schemes

    Divides address space into logical segments matching program structure. Combines segmentation with paging for protection and flexibility.

Chapter 7See details

Virtual Memory and Page Replacement

  • Lesson 1 • Thrashing and Working Set Model

    Diagnoses thrashing as excessive paging due to insufficient frames. Applies the working set model to maintain locality and prevent thrashing.

  • Lesson 2 • Virtual Memory Concepts

    Defines virtual memory as the separation of logical from physical address space. Enables programs larger than physical RAM to execute efficiently.

  • Lesson 3 • Page Fault Handling

    Traces the OS steps from page fault detection to page loading. Quantifies effective access time with page fault rate.

  • Lesson 4 • Page Replacement Algorithms

    Compares FIFO, Optimal, LRU, and Clock algorithms for frame selection. Evaluates each algorithm against Belady's anomaly and hit rate.

  • Lesson 5 • Frame Allocation Strategies

    Determines how many frames to assign each process for minimal faulting. Covers equal, proportional, and priority allocation policies.

Chapter 8See details

File Systems and Storage Management

  • Lesson 1 • Free Space Management

    Tracks unallocated disk blocks using bit vectors, linked lists, and grouping. Connects free space efficiency to overall file system performance.

  • Lesson 2 • Disk Scheduling Algorithms

    Minimizes disk head movement using FCFS, SSTF, SCAN, and C-SCAN policies. Selects appropriate algorithms based on workload access patterns.

  • Lesson 3 • Disk Space Allocation Methods

    Compares contiguous, linked, and indexed allocation for file block storage. Evaluates each method for sequential and random access performance.

  • Lesson 4 • File System Implementation

    Explains on-disk structures including boot blocks, superblocks, and inodes. Covers open-file tables and file descriptor management in memory.

  • Lesson 5 • File Concepts and Directory Structures

    Defines files as named byte sequences with attributes and access methods. Covers single-level, two-level, tree, and acyclic-graph directory structures.

Certification

Your valid completion certificate

This course is for you:

  • Junior developer: wants to understand what runs beneath application code daily.

  • CS student: needs structured OS theory to complement university coursework effectively.

  • Career changer: moving into backend or systems engineering from another technical field.

  • Self-taught programmer: filling the foundational gap that bootcamps typically leave behind.

  • DevOps engineer: seeking deeper OS knowledge to troubleshoot infrastructure problems confidently.

  • Embedded systems hobbyist: ready to move beyond microcontroller basics into real OS concepts.

What our students say

Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to switch platforms... I thank you for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the presentation style and video transcription, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top trainings

FAQ

Who is Dedika?

Is the certificate valid in the United States?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course