Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Linux Real-Time Scheduling: FIFO, Round-Robin and Deadline
Rating: 5.0 out of 5(1 rating)
1 students

Linux Real-Time Scheduling: FIFO, Round-Robin and Deadline

Master SCHED_FIFO, SCHED_RR, SCHED_DEADLINE, Priorities, and Real-Time Task Scheduling in Linux
Created byHaithem Jebali
Last updated 6/2026
English

What you'll learn

  • Understand the fundamentals of real-time Linux scheduling: FIFO, RR and Deadline
  • Integrate SCHED_FiFO, SCHED_RR and SCHED_DEADLINE into C/C++ applications
  • Develop real-time applications in Linux using threads and scheduling policies
  • Use cases of each Linux real-time scheduling policies

Course content

4 sections11 lectures1h 22m total length
  • Welcome to this course1:13

Requirements

  • Basic knowledge of Linux (using the terminal, editing files, running commands).
  • Familiarity with programming in C or C++ (basic syntax, compiling, debugging).
  • A computer with Linux installed (Ubuntu, Debian, or similar) — or the ability to set up a virtual machine.

Description

Real-time scheduling is one of the most important concepts in Linux systems programming, embedded development, robotics, industrial automation, and performance-critical applications. Understanding how the Linux scheduler makes decisions can be the difference between predictable behavior and missed deadlines.

In this course, you will gain a comprehensive understanding of Linux real-time scheduling policies, with an in-depth focus on SCHED_FIFO, SCHED_RR, and SCHED_DEADLINE. Rather than simply covering the theory, the course explains how these scheduling policies behave in real systems, how the scheduler selects tasks for execution, and how different policies impact determinism, responsiveness, and deadline guarantees.

Throughout the course, you will learn:

  • How SCHED_FIFO works and its priority-driven execution model

  • How SCHED_RR extends FIFO with time slicing and round-robin scheduling

  • How SCHED_DEADLINE uses the Earliest Deadline First (EDF) algorithm and bandwidth reservation

  • Practical examples and experiments demonstrating scheduling behavior

  • C/C++ applications examples to demonstrate the different scheduling policies

  • Common pitfalls and best practices when developing real-time Linux applications

By the end of this course, you will be able to confidently configure, analyze, and troubleshoot Linux real-time scheduling policies and understand when to use SCHED_FIFO, SCHED_RR, or SCHED_DEADLINE to meet the requirements of your application.

Whether you are a Linux developer, embedded engineer, robotics developer, systems programmer, or operating systems enthusiast, this course will provide the practical knowledge needed to work effectively with Linux real-time scheduling.


Who This Course Is For

  • Embedded systems engineers and developers

  • Linux system programmers

  • Robotics and automation developers

  • Anyone interested in low-latency and deterministic systems

Requirements

  • Basic knowledge of Linux commands and shell scripting

  • Some C or C++ programming experience

  • A Linux development environment (e.g., Ubuntu, Debian, or similar)

Why Take This Course

Linux is everywhere, but standard Linux is not deterministic.
By understanding how to configure and program a real-time Linux system, you’ll unlock the ability to build responsive, reliable, and time-critical software for any industry.

Who this course is for:

  • Embedded systems engineers who want to build reliable, deterministic applications on Linux.
  • Software developers interested in real-time programming and system-level optimization.
  • Robotics and automation professionals who need precise timing and low-latency control.
  • Computer science or electrical engineering students looking to expand their knowledge of operating systems and real-time systems.
  • Anyone with Linux experience who wants to explore real-time capabilities for industrial, automotive, or IoT projects.