User Tools

Site Tools


realtime:documentation:technical_basics:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:documentation:technical_basics:start [2018/08/06 14:00]
ebugden Add description of a real-time system
realtime:documentation:technical_basics:start [2023/10/03 08:27] (current)
costa.shul Dynticks
Line 11: Line 11:
 A real-time system is a platform that is running an RTOS and at least one real-time task. An RT task is a task that must be completed before a certain deadline. These tasks can be periodic or aperiodic have a priority to make sure that they are scheduled according to their frequency of execution and the strictness of their deadline. There can also be non real-time tasks running on the system as well. A real-time system is a platform that is running an RTOS and at least one real-time task. An RT task is a task that must be completed before a certain deadline. These tasks can be periodic or aperiodic have a priority to make sure that they are scheduled according to their frequency of execution and the strictness of their deadline. There can also be non real-time tasks running on the system as well.
  
-</​WRAP>​ 
- 
-<WRAP half column> 
 ===== Linux specific preemption models ===== ===== Linux specific preemption models =====
  
Line 23: Line 20:
  
 <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​preemption_models|Read more about preemption models]]</​WRAP>​ <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​preemption_models|Read more about preemption models]]</​WRAP>​
 +
 +===== 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.
 +
 +<WRAP rightalign>​[[realtime:​documentation:​technical_basics:​pi|Read more about priority inversion and inheritance]]</​WRAP>​
  
 </​WRAP>​ </​WRAP>​
Line 35: Line 42:
  
 <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​sched_policy_prio:​start|Read more about policy and priority]]</​WRAP>​ <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​sched_policy_prio:​start|Read more about policy and priority]]</​WRAP>​
-</​WRAP>​ 
  
-<WRAP half column> 
 ===== Scheduling - RT throttling ===== ===== Scheduling - RT throttling =====
  
Line 46: Line 51:
  
 <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​sched_rt_throttling|Read more about RT throttling]]</​WRAP>​ <WRAP rightalign>​[[realtime:​documentation:​technical_basics:​sched_rt_throttling|Read more about RT throttling]]</​WRAP>​
-</​WRAP>​ 
  
-<WRAP half column>​ +===== Latency ​=====
-===== Priority inversion - Priority inheritance ​=====+
  
-When a task with high priority ​is blocked by one with low priority +Low latency ​is a critical requirement ​in real-time computing environments because it ensures that tasks or processes ​can respond quickly ​and predictably to external events or inputs. 
-because of mutually exclusive resource, a third task with priority + 
-in between the others ​can run and finish before the task with the +<WRAP rightalign>​[[realtime:​documentation:​technical_basics:​latency|Read more about the term latency]]</​WRAP>​ 
-highest priority resumes This phenomenon is known as priority + 
-inversion. ​ It can be solved by priority inheritance.+===== Dynticks ===== 
 + 
 +Dynticks or Dynamic ticks or **no HZ** mode reduces timer interrupts overhead
 + 
 +<WRAP rightalign>​[[realtime:​documentation:​howto:​tools:​ticklesskernel|Read more about the dynamic ticks]]</​WRAP>​
  
-<WRAP rightalign>​[[realtime:​documentation:​technical_basics:​pi|Read more about priority inversion and inheritance]]</​WRAP>​ 
 </​WRAP>​ </​WRAP>​
  
realtime/documentation/technical_basics/start.1533564005.txt.gz · Last modified: 2018/08/06 14:00 by ebugden