mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-31 06:31:40 +08:00
c-user: Clarify task priorities
This commit is contained in:
parent
c81e148179
commit
5fdc744dce
@ -117,10 +117,7 @@ Task Priority and Scheduling
|
||||
|
||||
The most significant task scheduling modification mechanism is the ability for
|
||||
the user to assign a priority level to each individual task when it is created
|
||||
and to alter a task's priority at run-time. The maximum priority level depends
|
||||
on the configured scheduler. A lower priority level means higher priority
|
||||
(higher importance). The maximum priority level of the default uniprocessor
|
||||
scheduler is 255.
|
||||
and to alter a task's priority at run-time, see :ref:`TaskPriority`.
|
||||
|
||||
.. index:: preemption
|
||||
|
||||
|
@ -45,7 +45,7 @@ Deterministic Priority SMP Scheduler
|
||||
A fixed-priority scheduler which uses a table of chains with one chain per
|
||||
priority level for the ready tasks. The maximum priority level is
|
||||
configurable. By default, the maximum priority level is 255 (256 priority
|
||||
levels).
|
||||
levels), see :ref:`CONFIGURE_MAXIMUM_PRIORITY`.
|
||||
|
||||
.. _SchedulerSMPPrioritySimple:
|
||||
|
||||
@ -64,6 +64,7 @@ Arbitrary Processor Affinity Priority SMP Scheduler
|
||||
A fixed-priority scheduler which uses a table of chains with one chain per
|
||||
priority level for the ready tasks. The maximum priority level is
|
||||
configurable. By default, the maximum priority level is 255 (256 priority
|
||||
levels). This scheduler supports arbitrary task processor affinities. The
|
||||
worst-case run-time complexity of some scheduler operations exceeds
|
||||
:math:`O(n)` while :math:`n` is the count of ready tasks.
|
||||
levels), see :ref:`CONFIGURE_MAXIMUM_PRIORITY`. This scheduler supports
|
||||
arbitrary task processor affinities. The worst-case run-time complexity of
|
||||
some scheduler operations exceeds :math:`O(n)` while :math:`n` is the count of
|
||||
ready tasks.
|
||||
|
@ -127,13 +127,19 @@ scheduling of a task is based on its current state and priority.
|
||||
.. index:: priority, task
|
||||
.. index:: rtems_task_priority
|
||||
|
||||
.. _TaskPriority:
|
||||
|
||||
Task Priority
|
||||
-------------
|
||||
|
||||
A task's priority determines its importance in relation to the other tasks
|
||||
executing on the same processor. RTEMS supports 255 levels of priority ranging
|
||||
from 1 to 255. The data type ``rtems_task_priority`` is used to store task
|
||||
priorities.
|
||||
A task's :term:`priority` determines its importance in relation to the other
|
||||
tasks executing on the processor set owned by a :term:`scheduler`. Normally,
|
||||
RTEMS supports 256 levels of priority ranging from 0 to 255. The priority
|
||||
level 0 represents a special priority reserved for the operating system. The
|
||||
data type :c:type:`rtems_task_priority` is used to store task priorities. The
|
||||
maximum priority level depends on the configured scheduler, see
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY`, :ref:`ConfigurationSchedulersClustered`, and
|
||||
:ref:`RTEMSAPIClassicScheduler`.
|
||||
|
||||
Tasks of numerically smaller priority values are more important tasks than
|
||||
tasks of numerically larger priority values. For example, a task at priority
|
||||
|
Loading…
x
Reference in New Issue
Block a user