
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.
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.
Course content
8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsIntroduction to Operating Systems
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 2HideHide detailsSee detailsProcess Management Fundamentals
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 3HideHide detailsSee detailsCPU Scheduling Algorithms
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 4HideHide detailsSee detailsThreads and Concurrency
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 5HideHide detailsSee detailsDeadlock Detection and Prevention
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 6HideHide detailsSee detailsMemory Management Techniques
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 7HideHide detailsSee detailsVirtual Memory and Page Replacement
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 8HideHide detailsSee detailsFile Systems and Storage Management
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.
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...

I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.

I like the content and the presentation style and video transcription, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.

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




















