[PATCH] c-user: Add task priority glossary terms

Sebastian Huber sebastian.huber at embedded-brains.de
Wed May 12 13:07:06 UTC 2021


---
 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..5a06c10 100644
--- a/c-user/glossary.rst
+++ b/c-user/glossary.rst
@@ -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`.
+
     deadline
         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` and a
+        :term:`helping priority` of a task.
+
     eligible scheduler
         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`.
+
     helping scheduler
         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
         another task.
 
     priority
-        A mechanism used to represent the relative importance of an element in a
-        set of items.  RTEMS uses priority to determine which task should
-        execute.
+        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.
 
     priority boosting
         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`.
+
     real-time
         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 with respect to
+        other tasks.  The scheduler use task priorities to determine which
+        :term:`ready task` gets a processor allocated.  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.
 
-- 
2.26.2



More information about the devel mailing list