[rtems-docs commit] c-user: Add task priority glossary terms
sebh at rtems.org
Wed May 12 19:07:30 UTC 2021
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed May 12 13:41:47 2021 +0200
c-user: Add task priority glossary terms
c-user/glossary.rst | 41 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/c-user/glossary.rst b/c-user/glossary.rst
index b3527a7..99f7c60 100644
@@ -194,6 +194,14 @@ Glossary
This term is an acronym for Cathode Ray Tube. Normally used in reference to
the man-machine interface.
+ current priority
+ The current priority of a :term:`task` is the :term:`task priority` with
+ respect to the :term:`home scheduler` of the task. It is an aggregation of
+ the :term:`real priority` and temporary priority adjustments due to locking
+ protocols, the rate-monotonic period objects on some schedulers such as EDF,
+ and the :term:`POSIX` sporadic server. The current priority is an
+ :term:`eligible priority`.
A fixed time limit by which a task must have completed a set of actions.
Beyond this point, the results are of reduced value and may even be
@@ -246,6 +254,12 @@ Glossary
This term is an acronym for
`Executable and Linkable Format <https://en.wikipedia.org/wiki/Executable_and_Linkable_Format>`_.
+ eligible priority
+ An eligible priority of a :term:`task` is the :term:`task priority` with
+ respect to the corresponding :term:`eligible scheduler` of the task. An
+ eligible priority is either the :term:`current priority` or a
+ :term:`helping priority` of a task.
An eligible scheduler of a :term:`task` is a :term:`scheduler` which can be
used by the task to allocate a processor for the task.
@@ -366,6 +380,11 @@ Glossary
dispatch is marked as necessary, then the next thread dispatch will make
the heir task the executing task.
+ helping priority
+ A helping priority of a :term:`task` is the :term:`task priority` with
+ respect to the corresponding :term:`helping scheduler` of the task. A
+ helping priority is an :term:`eligible priority`.
A helping scheduler of a :term:`task` is a :term:`scheduler` which is a
:term:`eligible scheduler` and which is not the :term:`home scheduler` of
@@ -632,9 +651,9 @@ Glossary
- A mechanism used to represent the relative importance of an element in a
- set of items. RTEMS uses priority to determine which task should
+ The priority is a mechanism used to represent the relative importance of an
+ element in a set of items. RTEMS uses :term:`task priorities <task priority>` to determine
+ which :term:`task` should execute.
A simple approach to extend the priority inheritance protocol for
@@ -686,6 +705,14 @@ Glossary
decided that other tasks are currently more important. A task that is
ready to execute and has a processor assigned is called scheduled.
+ real priority
+ Each :term:`task` has exactly one real priority. The real priority is
+ always with respect to the :term:`home scheduler` of a task. It is defined
+ during task initialization. It may be changed by directives such as
+ :c:func:`rtems_task_set_priority` and
+ :c:func:`rtems_task_set_scheduler`. The real priority is the foundation
+ of the :term:`current priority`.
A term used to describe systems which are characterized by requiring
deterministic response times to external stimuli. The external stimuli
@@ -959,6 +986,14 @@ Glossary
Task migration happens in case a task stops execution on one processor
and resumes execution on another processor.
+ task priority
+ A task priority of a :term:`task` determines its importance relative to
+ other tasks. The scheduler use task priorities to determine which
+ :term:`ready task` gets a processor allocated, see :term:`scheduled task`. The
+ :term:`eligible priorities <eligible priority>` of a task define the position of the task in a
+ :term:`wait queue` which uses the priority discipline. Each task has at
+ least the :term:`real priority`.
task processor affinity
The set of processors on which a task is allowed to execute.
More information about the vc