User Tools

Site Tools


realtime:documentation:technical_basics:start

This is an old revision of the document!


Technical basics: Important aspects for real time

In order to understand the functionality of an RTOS, you need to know about both general and Linux specific mechanisms.


Linux specific preemption models

The mainline Linux kernel implements three different preemption models for different fields of application like servers or desktop PCs. With the PREEMPT_RT patch two additional preemption models are available. The “Fully Preemptible Kernel” model is the one that turns Linux into an RTOS.

Scheduling - Policy and priority

The Linux kernel implements several real-time and non real-time scheduling policies. Depending on the scheduling policy of the tasks the scheduler decides which task is swapped out and which task is processed next.

Scheduling - RT throttling

The RT throttling mechanism prevents a system to hang, if there is a programming failure in a real-time application. This mechanism makes it possible to stop such an application. The settings for RT throttling are exported into the proc filesystem.

Priority inversion - Priority inheritance

When a task with high priority is blocked by one with low priority because of a mutually exclusive resource, a third task with priority in between the others can run and finish before the task with the highest priority resumes. This phenomenon is known as priority inversion. It can be solved by priority inheritance.

realtime/documentation/technical_basics/start.1533563080.txt.gz · Last modified: 2018/08/06 13:44 by ebugden