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 13:44]
ebugden Fix typo
realtime:documentation:technical_basics:start [2023/10/03 08:27]
costa.shul Dynticks
Line 1: Line 1:
 ======Technical basics: Important aspects for real time====== ======Technical basics: Important aspects for real time======
  
-In order to understand the functionality of an RTOS, you need to know+In order to understand the functionality of a real-time operating system (RTOS), you need to know
 about both general and Linux specific mechanisms. about both general and Linux specific mechanisms.
  
Line 7: Line 7:
  
 <WRAP half column> <WRAP half column>
 +===== Real-time system =====
 +
 +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.
 +
 ===== Linux specific preemption models ===== ===== Linux specific preemption models =====
  
Line 16: 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 28: 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 39: 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.txt · Last modified: 2023/10/03 08:27 by costa.shul