[PATCH 1/2] doc: Move SMP glossary to global glossary
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue May 6 06:00:58 UTC 2014
Add some terms.
---
doc/user/glossary.texi | 109 ++++++++++++++++++++++++++++++++++++++++-------
doc/user/smp.t | 110 ------------------------------------------------
2 files changed, 93 insertions(+), 126 deletions(-)
diff --git a/doc/user/glossary.texi b/doc/user/glossary.texi
index 2a627dd..7f3a36d 100644
--- a/doc/user/glossary.texi
+++ b/doc/user/glossary.texi
@@ -32,6 +32,9 @@ interrupt except that it is associated with a task and is run in
the context of a task. The directives provided by the signal
manager are used to service signals.
+ at item atomic operations
+Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}.
+
@item awakened
A term used to describe a task that has
been unblocked and may be scheduled to the CPU.
@@ -49,10 +52,10 @@ makes for compact data representation.
@item block
A physically contiguous area of memory.
- at item blocked
-The task state entered by a task which has
-been previously started and cannot continue execution until the
-reason for waiting has been satisfied.
+ at item blocked task
+The task state entered by a task which has been previously started and cannot
+continue execution until the reason for waiting has been satisfied. Blocked
+tasks are not an element of the set of ready tasks of a scheduler instance.
@item broadcast
To simultaneously send a message to a
@@ -86,6 +89,11 @@ A data structure which allows for efficient
dynamic addition and removal of elements. It differs from an
array in that it is not limited to a predefined size.
+ at item cluster
+We have clustered scheduling in case the set of processors of a system is
+partitioned into non-empty pairwise disjoint subsets. These subsets are called
+ at dfn{clusters}. Each cluster is owned by exactly one scheduler instance.
+
@item coalesce
The process of merging adjacent holes into
a single larger hole. Sometimes this process is referred to as
@@ -185,9 +193,11 @@ are used to service events.
@item exception
A synonym for interrupt.
- at item executing
-The task state entered by a task after it
-has been given control of the CPU.
+ at item executing task
+The task state entered by a task after it has been given control of the
+processor. On SMP configurations a task may be registered as executing on more
+than one processor for short time frames during task migration. Blocked tasks
+can be executing until they issue a thread dispatch.
@item executive
In this document, this term is used to
@@ -220,6 +230,11 @@ extension of the primary processor.
A resource that has been released by the
application to RTEMS.
+ at item Giant lock
+The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the
+operating system state. Virtually every operating system service must acquire
+and release the Giant lock during its operation.
+
@item global
An object that has been created with the
GLOBAL attribute and exported to all nodes in a multiprocessor
@@ -242,6 +257,13 @@ system.
A data structure used to dynamically allocate
and deallocate variable sized blocks of memory.
+ at item heir task
+A task is an @dfn{heir} if it is registered as an heir in a processor of the
+system. A task can be the heir on at most one processor in the system. In
+case the executing and heir tasks differ on a processor and a thread dispatch
+is marked as necessary, then the next thread dispatch will make the heir task
+the executing task.
+
@item heterogeneous
A multiprocessor computer system composed of dissimilar processors.
@@ -256,6 +278,11 @@ access an active object.
A special low priority task which assumes
control of the CPU when no other task is able to execute.
+ at item in the air task
+A task is @dfn{in the air} if it is in a transient state and has a processor
+assigned. The next scheduler operation will turn it into a blocked, ready or
+scheduled task. This state is specific to SMP configurations.
+
@item interface
A specification of the methodology used
to connect multiple independent subsystems.
@@ -436,6 +463,9 @@ An RTEMS object which is used to allocate
and deallocate fixed size blocks of memory from an dynamically
specified area of memory.
+ at item partition
+Clusters with a cardinality of one are @dfn{partitions}.
+
@item Partition Control Block
A data structure associated
with each partition used by RTEMS to manage that partition.
@@ -522,9 +552,11 @@ Alternate term for message queue.
@item QCB
An acronym for Message Queue Control Block.
- at item ready
-A task occupies this state when it is
-available to be given control of the CPU.
+ at item ready task
+A task occupies this state when it is available to be given control of a
+processor. A ready task has no processor assigned. The scheduler decided that
+other tasks are currently more important. A task that is ready to execute and
+has a processor assigned is called scheduled.
@item real-time
A term used to describe systems which are
@@ -592,15 +624,36 @@ The state of a rate monotonic timer while
it is being used to delineate a period. The timer exits this
state by either expiring or being canceled.
- at item schedule
-The process of choosing which task should
-next enter the executing state.
-
@item schedulable
A set of tasks which can be guaranteed
to meet their deadlines based upon a specific scheduling
algorithm.
+ at item schedule
+The process of choosing which task should
+next enter the executing state.
+
+ at item scheduled task
+A task is @dfn{scheduled} if it is allowed to execute and has a processor
+assigned. Such a task executes currently on a processor or is about to start
+execution. A task about to start execution it is an heir task on exactly one
+processor in the system.
+
+ at item scheduler
+A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a
+subset of its set of ready tasks. So it manages access to the processor
+resource. Various algorithms exist to choose the tasks allowed to use a
+processor out of the set of ready tasks. One method is to assign each task a
+priority number and assign the tasks with the lowest priority number to one
+processor of the set of processors owned by a scheduler instance.
+
+ at item scheduler instance
+A @dfn{scheduler instance} is a scheduling algorithm with a corresponding
+context to store its internal state. Each processor in the system is owned by
+at most one scheduler instance. The processor to scheduler instance assignment
+is determined at application configuration time. @xref{Configuring a System
+Configuring Clustered/Partitioned Schedulers}.
+
@item segments
Variable sized memory blocks allocated
from a region.
@@ -631,6 +684,18 @@ sent to a task.
@item SMCB
An acronym for Semaphore Control Block.
+ at item SMP locks
+The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a
+replacement for the sections of disabled interrupts. Interrupts are usually
+disabled while holding an SMP lock. They are implemented using atomic
+operations. Currently a ticket lock is used in RTEMS.
+
+ at item SMP barriers
+The @dfn{SMP barriers} ensure that a defined set of independent threads of
+execution on a set of processors reaches a common synchronization point in
+time. They are implemented using atomic operations. Currently a sense barrier
+is used in RTEMS.
+
@item soft real-time system
A real-time system in which a
missed deadline does not compromise the integrity of the system.
@@ -669,13 +734,21 @@ The system on which the application will
ultimately execute.
@item task
-A logically complete thread of execution. The
-CPU is allocated among the ready tasks.
+A logically complete thread of execution. It consists normally of a set of
+registers and a stack. The terms @dfn{task} and @dfn{thread} are synonym in
+RTEMS. The scheduler assigns processors to a subset of the ready tasks.
@item Task Control Block
A data structure associated with
each task used by RTEMS to manage that task.
+ at item task migration
+ at dfn{Task migration} happens in case a task stops execution on one processor
+and resumes execution on another processor.
+
+ at item task processor affinity
+The set of processors on which a task is allowed to execute.
+
@item task switch
Alternate terminology for context
switch. Taking control of the processor from one task and given
@@ -684,6 +757,10 @@ to another.
@item TCB
An acronym for Task Control Block.
+ at item thread dispatch
+The @dfn{thread dispatch} transfers control of the processor from the currently
+executing thread to the heir thread of the processor.
+
@item tick
The basic unit of time used by RTEMS. It is a
user-configurable number of microseconds. The current tick
diff --git a/doc/user/smp.t b/doc/user/smp.t
index 0751aba..1844315 100644
--- a/doc/user/smp.t
+++ b/doc/user/smp.t
@@ -29,116 +29,6 @@ The application level services currently provided are:
@c
@section Background
- at subsection Glossary
-
- at table @dfn
-
- at item scheduler
-
-A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a
-subset of its set of ready tasks. So it manages access to the processor
-resource. Various algorithms exist to choose the tasks allowed to use a
-processor out of the set of ready tasks. One method is to assign each task a
-priority number and assign the tasks with the lowest priority number to one
-processor of the set of processors owned by a scheduler instance.
-
- at item scheduler instance
-
-A @dfn{scheduler instance} is a scheduling algorithm with a corresponding
-context to store its internal state. Each processor in the system is owned by
-at most one scheduler instance. The processor to scheduler instance assignment
-is determined at application configuration time. @xref{Configuring a System
-Configuring Clustered/Partitioned Schedulers}.
-
- at item cluster
-
-We have clustered scheduling in case the set of processors of a system is
-partitioned into non-empty pairwise disjoint subsets. These subsets are called
- at dfn{clusters}. Each cluster is owned by exactly one scheduler instance.
-
- at item partition
-
-Clusters with a cardinality of one are @dfn{partitions}.
-
- at item task
-
-A @dfn{task} or @dfn{thread} is a context which can execute on a processor. It
-consists normally of a set of registers and a stack. The terms @dfn{task} and
- at dfn{thread} are synonym in RTEMS
-
- at item task processor affinity
-
-The set of processors on which a task is allowed to execute.
-
- at item task migration
-
- at dfn{Task migration} happens in case a task stops execution on one processor
-and resumes execution on another processor.
-
- at item blocked task
-
-A task is @dfn{blocked} if it is not allowed to execute. There are several
-reasons why a task is blocked, for example
-
- at itemize @bullet
-
- at item it has to wait for a resource, currently owned by another task,
-
- at item some time must elapse, for example the next period start or some time
-out,
-
- at item it is explicitly suspended, or
-
- at item it is not yet started.
-
- at end itemize
-
-Blocked tasks are not an element of the set of ready tasks of a scheduler
-instance.
-
- at item ready task
-
-A task is @dfn{ready} if it is allowed to execute, but has no processor
-assigned. The scheduler decided that other tasks are currently more important.
-
- at item scheduled task
-
-A task is @dfn{scheduled} if it is allowed to execute and has a processor
-assigned. Such a task executes currently on a processor or is about to start
-execution. A task about to start execution it is an heir task on exactly one
-processor in the system.
-
- at item in the air task
-
-A task is @dfn{in the air} if it is in a transient state and has a processor
-assigned. The next scheduler operation will turn it into a blocked, ready or
-scheduled task.
-
- at item atomic operations
-
-Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}.
-
- at item SMP locks
-
-The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a
-replacement for the sections of disabled interrupts. Interrupts are usually
-disabled while holding an SMP lock. They are implemented using atomic
-operations. Currently a ticket lock is used in RTEMS.
-
- at item SMP barriers
-
-The @dfn{SMP locks} ensure that a set of processors reaches a common
-synchronization point in time. They are implemented using atomic operations.
-Currently a sense barrier is used in RTEMS.
-
- at item Giant lock
-
-The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the
-operating system state. Virtually every operating system service must acquire
-and release the Giant lock during its operation.
-
- at end table
-
@subsection Uniprocessor versus SMP Parallelism
Uniprocessor systems have long been used in embedded systems. In this hardware
--
1.7.7
More information about the devel
mailing list