[rtems commit] doc: Move SMP glossary to global glossary

Sebastian Huber sebh at rtems.org
Thu May 8 06:36:11 UTC 2014


Module:    rtems
Branch:    master
Commit:    29e6637eb1802da89de25778f597bdf0d66a3867
Changeset: http://git.rtems.org/rtems/commit/?id=29e6637eb1802da89de25778f597bdf0d66a3867

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon May  5 21:55:13 2014 +0200

doc: Move SMP glossary to global glossary

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




More information about the vc mailing list