mirror of
https://git.rtems.org/rtems-docs/
synced 2025-06-02 02:33:58 +08:00
834 lines
26 KiB
ReStructuredText
834 lines
26 KiB
ReStructuredText
Glossary
|
||
########
|
||
|
||
:dfn:`active`
|
||
A term used to describe an object
|
||
which has been created by an application.
|
||
|
||
:dfn:`aperiodic task`
|
||
A task which must execute only at
|
||
irregular intervals and has only a soft deadline.
|
||
|
||
:dfn:`application`
|
||
In this document, software which makes
|
||
use of RTEMS.
|
||
|
||
:dfn:`ASR`
|
||
see Asynchronous Signal Routine.
|
||
|
||
:dfn:`asynchronous`
|
||
Not related in order or timing to
|
||
other occurrences in the system.
|
||
|
||
:dfn:`Asynchronous Signal Routine`
|
||
Similar to a hardware
|
||
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.
|
||
|
||
:dfn:`atomic operations`
|
||
Atomic operations are defined in terms of *ISO/IEC 9899:2011*.
|
||
|
||
:dfn:`awakened`
|
||
A term used to describe a task that has
|
||
been unblocked and may be scheduled to the CPU.
|
||
|
||
:dfn:`big endian`
|
||
A data representation scheme in which
|
||
the bytes composing a numeric value are arranged such that the
|
||
most significant byte is at the lowest address.
|
||
|
||
:dfn:`bit-mapped`
|
||
A data encoding scheme in which each bit
|
||
in a variable is used to represent something different. This
|
||
makes for compact data representation.
|
||
|
||
:dfn:`block`
|
||
A physically contiguous area of memory.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`broadcast`
|
||
To simultaneously send a message to a
|
||
logical set of destinations.
|
||
|
||
:dfn:`BSP`
|
||
see Board Support Package.
|
||
|
||
:dfn:`Board Support Package`
|
||
A collection of device
|
||
initialization and control routines specific to a particular
|
||
type of board or collection of boards.
|
||
|
||
:dfn:`buffer`
|
||
A fixed length block of memory allocated
|
||
from a partition.
|
||
|
||
:dfn:`calling convention`
|
||
The processor and compiler
|
||
dependent rules which define the mechanism used to invoke
|
||
subroutines in a high-level language. These rules define the
|
||
passing of arguments, the call and return mechanism, and the
|
||
register set which must be preserved.
|
||
|
||
:dfn:`Central Processing Unit`
|
||
This term is equivalent to
|
||
the terms processor and microprocessor.
|
||
|
||
:dfn:`chain`
|
||
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.
|
||
|
||
:dfn:`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:dfn:`clusters`. Clusters with a cardinality of one are partitions. Each
|
||
cluster is owned by exactly one scheduler instance.
|
||
|
||
:dfn:`coalesce`
|
||
The process of merging adjacent holes into
|
||
a single larger hole. Sometimes this process is referred to as
|
||
garbage collection.
|
||
|
||
:dfn:`Configuration Table`
|
||
A table which contains
|
||
information used to tailor RTEMS for a particular application.
|
||
|
||
:dfn:`context`
|
||
All of the processor registers and
|
||
operating system data structures associated with a task.
|
||
|
||
:dfn:`context switch`
|
||
Alternate term for task switch.
|
||
Taking control of the processor from one task and transferring
|
||
it to another task.
|
||
|
||
:dfn:`control block`
|
||
A data structure used by the
|
||
executive to define and control an object.
|
||
|
||
:dfn:`core`
|
||
When used in this manual, this term refers to
|
||
the internal executive utility functions. In the interest of
|
||
application portability, the core of the executive should not be
|
||
used directly by applications.
|
||
|
||
:dfn:`CPU`
|
||
An acronym for Central Processing Unit.
|
||
|
||
:dfn:`critical section`
|
||
A section of code which must be
|
||
executed indivisibly.
|
||
|
||
:dfn:`CRT`
|
||
An acronym for Cathode Ray Tube. Normally used
|
||
in reference to the man-machine interface.
|
||
|
||
:dfn:`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 considered useless or
|
||
harmful.
|
||
|
||
:dfn:`device`
|
||
A peripheral used by the application that
|
||
requires special operation software. See also device driver.
|
||
|
||
:dfn:`device driver`
|
||
Control software for special
|
||
peripheral devices used by the application.
|
||
|
||
:dfn:`directives`
|
||
RTEMS’ provided routines that provide
|
||
support mechanisms for real-time applications.
|
||
|
||
:dfn:`dispatch`
|
||
The act of loading a task’s context onto
|
||
the CPU and transferring control of the CPU to that task.
|
||
|
||
:dfn:`dormant`
|
||
The state entered by a task after it is
|
||
created and before it has been started.
|
||
|
||
:dfn:`Device Driver Table`
|
||
A table which contains the
|
||
entry points for each of the configured device drivers.
|
||
|
||
:dfn:`dual-ported`
|
||
A term used to describe memory which
|
||
can be accessed at two different addresses.
|
||
|
||
:dfn:`embedded`
|
||
An application that is delivered as a
|
||
hidden part of a larger system. For example, the software in a
|
||
fuel-injection control system is an embedded application found
|
||
in many late-model automobiles.
|
||
|
||
:dfn:`envelope`
|
||
A buffer provided by the MPCI layer to
|
||
RTEMS which is used to pass messages between nodes in a
|
||
multiprocessor system. It typically contains routing
|
||
information needed by the MPCI. The contents of an envelope are
|
||
referred to as a packet.
|
||
|
||
:dfn:`entry point`
|
||
The address at which a function or task
|
||
begins to execute. In C, the entry point of a function is the
|
||
function’s name.
|
||
|
||
:dfn:`events`
|
||
A method for task communication and
|
||
synchronization. The directives provided by the event manager
|
||
are used to service events.
|
||
|
||
:dfn:`exception`
|
||
A synonym for interrupt.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`executive`
|
||
In this document, this term is used to
|
||
referred to RTEMS. Commonly, an executive is a small real-time
|
||
operating system used in embedded systems.
|
||
|
||
:dfn:`exported`
|
||
An object known by all nodes in a
|
||
multiprocessor system. An object created with the GLOBAL
|
||
attribute will be exported.
|
||
|
||
:dfn:`external address`
|
||
The address used to access
|
||
dual-ported memory by all the nodes in a system which do not own
|
||
the memory.
|
||
|
||
:dfn:`FIFO`
|
||
An acronym for First In First Out.
|
||
|
||
:dfn:`First In First Out`
|
||
A discipline for manipulating entries in a data structure.
|
||
|
||
:dfn:`floating point coprocessor`
|
||
A component used in
|
||
computer systems to enhance performance in mathematically
|
||
intensive situations. It is typically viewed as a logical
|
||
extension of the primary processor.
|
||
|
||
:dfn:`freed`
|
||
A resource that has been released by the
|
||
application to RTEMS.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`global`
|
||
An object that has been created with the
|
||
GLOBAL attribute and exported to all nodes in a multiprocessor
|
||
system.
|
||
|
||
:dfn:`handler`
|
||
The equivalent of a manager, except that it
|
||
is internal to RTEMS and forms part of the core. A handler is a
|
||
collection of routines which provide a related set of functions.
|
||
For example, there is a handler used by RTEMS to manage all
|
||
objects.
|
||
|
||
:dfn:`hard real-time system`
|
||
A real-time system in which a
|
||
missed deadline causes the worked performed to have no value or
|
||
to result in a catastrophic effect on the integrity of the
|
||
system.
|
||
|
||
:dfn:`heap`
|
||
A data structure used to dynamically allocate
|
||
and deallocate variable sized blocks of memory.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`heterogeneous`
|
||
A multiprocessor computer system composed of dissimilar processors.
|
||
|
||
:dfn:`homogeneous`
|
||
A multiprocessor computer system composed of a single type of processor.
|
||
|
||
:dfn:`ID`
|
||
An RTEMS assigned identification tag used to
|
||
access an active object.
|
||
|
||
:dfn:`IDLE task`
|
||
A special low priority task which assumes
|
||
control of the CPU when no other task is able to execute.
|
||
|
||
:dfn:`interface`
|
||
A specification of the methodology used
|
||
to connect multiple independent subsystems.
|
||
|
||
:dfn:`internal address`
|
||
The address used to access
|
||
dual-ported memory by the node which owns the memory.
|
||
|
||
:dfn:`interrupt`
|
||
A hardware facility that causes the CPU
|
||
to suspend execution, save its status, and transfer control to a
|
||
specific location.
|
||
|
||
:dfn:`interrupt level`
|
||
A mask used to by the CPU to
|
||
determine which pending interrupts should be serviced. If a
|
||
pending interrupt is below the current interrupt level, then the
|
||
CPU does not recognize that interrupt.
|
||
|
||
:dfn:`Interrupt Service Routine`
|
||
An ISR is invoked by the
|
||
CPU to process a pending interrupt.
|
||
|
||
:dfn:`I/O`
|
||
An acronym for Input/Output.
|
||
|
||
:dfn:`ISR`
|
||
An acronym for Interrupt Service Routine.
|
||
|
||
:dfn:`kernel`
|
||
In this document, this term is used as a
|
||
synonym for executive.
|
||
|
||
:dfn:`list`
|
||
A data structure which allows for dynamic
|
||
addition and removal of entries. It is not statically limited
|
||
to a particular size.
|
||
|
||
:dfn:`little endian`
|
||
A data representation scheme in which
|
||
the bytes composing a numeric value are arranged such that the
|
||
least significant byte is at the lowest address.
|
||
|
||
:dfn:`local`
|
||
An object which was created with the LOCAL
|
||
attribute and is accessible only on the node it was created and
|
||
resides upon. In a single processor configuration, all objects
|
||
are local.
|
||
|
||
:dfn:`local operation`
|
||
The manipulation of an object which
|
||
resides on the same node as the calling task.
|
||
|
||
:dfn:`logical address`
|
||
An address used by an application.
|
||
In a system without memory management, logical addresses will
|
||
equal physical addresses.
|
||
|
||
:dfn:`loosely-coupled`
|
||
A multiprocessor configuration
|
||
where shared memory is not used for communication.
|
||
|
||
:dfn:`major number`
|
||
The index of a device driver in the
|
||
Device Driver Table.
|
||
|
||
:dfn:`manager`
|
||
A group of related RTEMS’ directives which
|
||
provide access and control over resources.
|
||
|
||
:dfn:`memory pool`
|
||
Used interchangeably with heap.
|
||
|
||
:dfn:`message`
|
||
A sixteen byte entity used to communicate
|
||
between tasks. Messages are sent to message queues and stored
|
||
in message buffers.
|
||
|
||
:dfn:`message buffer`
|
||
A block of memory used to store
|
||
messages.
|
||
|
||
:dfn:`message queue`
|
||
An RTEMS object used to synchronize
|
||
and communicate between tasks by transporting messages between
|
||
sending and receiving tasks.
|
||
|
||
:dfn:`Message Queue Control Block`
|
||
A data structure associated with each message queue used by RTEMS
|
||
to manage that message queue.
|
||
|
||
:dfn:`minor number`
|
||
A numeric value passed to a device
|
||
driver, the exact usage of which is driver dependent.
|
||
|
||
:dfn:`mode`
|
||
An entry in a task’s control block that is
|
||
used to determine if the task allows preemption, timeslicing,
|
||
processing of signals, and the interrupt disable level used by
|
||
the task.
|
||
|
||
:dfn:`MPCI`
|
||
An acronym for Multiprocessor Communications
|
||
Interface Layer.
|
||
|
||
:dfn:`multiprocessing`
|
||
The simultaneous execution of two
|
||
or more processes by a multiple processor computer system.
|
||
|
||
:dfn:`multiprocessor`
|
||
A computer with multiple CPUs
|
||
available for executing applications.
|
||
|
||
:dfn:`Multiprocessor Communications Interface Layer`
|
||
A set
|
||
of user-provided routines which enable the nodes in a
|
||
multiprocessor system to communicate with one another.
|
||
|
||
:dfn:`Multiprocessor Configuration Table`
|
||
The data structure defining the characteristics of the multiprocessor
|
||
target system with which RTEMS will communicate.
|
||
|
||
:dfn:`multitasking`
|
||
The alternation of execution amongst a
|
||
group of processes on a single CPU. A scheduling algorithm is
|
||
used to determine which process executes at which time.
|
||
|
||
:dfn:`mutual exclusion`
|
||
A term used to describe the act of
|
||
preventing other tasks from accessing a resource simultaneously.
|
||
|
||
:dfn:`nested`
|
||
A term used to describe an ASR that occurs
|
||
during another ASR or an ISR that occurs during another ISR.
|
||
|
||
:dfn:`node`
|
||
A term used to reference a processor running
|
||
RTEMS in a multiprocessor system.
|
||
|
||
:dfn:`non-existent`
|
||
The state occupied by an uncreated or
|
||
deleted task.
|
||
|
||
:dfn:`numeric coprocessor`
|
||
A component used in computer
|
||
systems to enhance performance in mathematically intensive
|
||
situations. It is typically viewed as a logical extension of
|
||
the primary processor.
|
||
|
||
:dfn:`object`
|
||
In this document, this term is used to refer
|
||
collectively to tasks, timers, message queues, partitions,
|
||
regions, semaphores, ports, and rate monotonic periods. All
|
||
RTEMS objects have IDs and user-assigned names.
|
||
|
||
:dfn:`object-oriented`
|
||
A term used to describe systems
|
||
with common mechanisms for utilizing a variety of entities.
|
||
Object-oriented systems shield the application from
|
||
implementation details.
|
||
|
||
:dfn:`operating system`
|
||
The software which controls all
|
||
the computer’s resources and provides the base upon which
|
||
application programs can be written.
|
||
|
||
:dfn:`overhead`
|
||
The portion of the CPUs processing power
|
||
consumed by the operating system.
|
||
|
||
:dfn:`packet`
|
||
A buffer which contains the messages passed
|
||
between nodes in a multiprocessor system. A packet is the
|
||
contents of an envelope.
|
||
|
||
:dfn:`partition`
|
||
An RTEMS object which is used to allocate
|
||
and deallocate fixed size blocks of memory from an dynamically
|
||
specified area of memory.
|
||
|
||
:dfn:`partition`
|
||
Clusters with a cardinality of one are :dfn:`partitions`.
|
||
|
||
:dfn:`Partition Control Block`
|
||
A data structure associated
|
||
with each partition used by RTEMS to manage that partition.
|
||
|
||
:dfn:`pending`
|
||
A term used to describe a task blocked
|
||
waiting for an event, message, semaphore, or signal.
|
||
|
||
:dfn:`periodic task`
|
||
A task which must execute at regular
|
||
intervals and comply with a hard deadline.
|
||
|
||
:dfn:`physical address`
|
||
The actual hardware address of a
|
||
resource.
|
||
|
||
:dfn:`poll`
|
||
A mechanism used to determine if an event has
|
||
occurred by periodically checking for a particular status.
|
||
Typical events include arrival of data, completion of an action,
|
||
and errors.
|
||
|
||
:dfn:`pool`
|
||
A collection from which resources are
|
||
allocated.
|
||
|
||
:dfn:`portability`
|
||
A term used to describe the ease with
|
||
which software can be rehosted on another computer.
|
||
|
||
:dfn:`posting`
|
||
The act of sending an event, message,
|
||
semaphore, or signal to a task.
|
||
|
||
:dfn:`preempt`
|
||
The act of forcing a task to relinquish the
|
||
processor and dispatching to another task.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`priority boosting`
|
||
A simple approach to extend the priority inheritance protocol for clustered
|
||
scheduling is :dfn:`priority boosting`. In case a mutex is owned by a task of
|
||
another cluster, then the priority of the owner task is raised to an
|
||
artificially high priority, the pseudo-interrupt priority.
|
||
|
||
:dfn:`priority inheritance`
|
||
An algorithm that calls for
|
||
the lower priority task holding a resource to have its priority
|
||
increased to that of the highest priority task blocked waiting
|
||
for that resource. This avoids the problem of priority
|
||
inversion.
|
||
|
||
:dfn:`priority inversion`
|
||
A form of indefinite
|
||
postponement which occurs when a high priority tasks requests
|
||
access to shared resource currently allocated to low priority
|
||
task. The high priority task must block until the low priority
|
||
task releases the resource.
|
||
|
||
:dfn:`processor utilization`
|
||
The percentage of processor
|
||
time used by a task or a set of tasks.
|
||
|
||
:dfn:`proxy`
|
||
An RTEMS control structure used to represent,
|
||
on a remote node, a task which must block as part of a remote
|
||
operation.
|
||
|
||
:dfn:`Proxy Control Block`
|
||
A data structure associated
|
||
with each proxy used by RTEMS to manage that proxy.
|
||
|
||
:dfn:`PTCB`
|
||
An acronym for Partition Control Block.
|
||
|
||
:dfn:`PXCB`
|
||
An acronym for Proxy Control Block.
|
||
|
||
:dfn:`quantum`
|
||
The application defined unit of time in
|
||
which the processor is allocated.
|
||
|
||
:dfn:`queue`
|
||
Alternate term for message queue.
|
||
|
||
:dfn:`QCB`
|
||
An acronym for Message Queue Control Block.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`real-time`
|
||
A term used to describe systems which are
|
||
characterized by requiring deterministic response times to
|
||
external stimuli. The external stimuli require that the
|
||
response occur at a precise time or the response is incorrect.
|
||
|
||
:dfn:`reentrant`
|
||
A term used to describe routines which do
|
||
not modify themselves or global variables.
|
||
|
||
:dfn:`region`
|
||
An RTEMS object which is used to allocate
|
||
and deallocate variable size blocks of memory from a dynamically
|
||
specified area of memory.
|
||
|
||
:dfn:`Region Control Block`
|
||
A data structure associated
|
||
with each region used by RTEMS to manage that region.
|
||
|
||
:dfn:`registers`
|
||
Registers are locations physically
|
||
located within a component, typically used for device control or
|
||
general purpose storage.
|
||
|
||
:dfn:`remote`
|
||
Any object that does not reside on the local
|
||
node.
|
||
|
||
:dfn:`remote operation`
|
||
The manipulation of an object
|
||
which does not reside on the same node as the calling task.
|
||
|
||
:dfn:`return code`
|
||
Also known as error code or return
|
||
value.
|
||
|
||
:dfn:`resource`
|
||
A hardware or software entity to which
|
||
access must be controlled.
|
||
|
||
:dfn:`resume`
|
||
Removing a task from the suspend state. If
|
||
the task’s state is ready following a call to the ``rtems.task_resume``
|
||
directive, then the task is available for scheduling.
|
||
|
||
:dfn:`return code`
|
||
A value returned by RTEMS directives to
|
||
indicate the completion status of the directive.
|
||
|
||
:dfn:`RNCB`
|
||
An acronym for Region Control Block.
|
||
|
||
:dfn:`round-robin`
|
||
A task scheduling discipline in which
|
||
tasks of equal priority are executed in the order in which they
|
||
are made ready.
|
||
|
||
:dfn:`RS-232`
|
||
A standard for serial communications.
|
||
|
||
:dfn:`running`
|
||
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.
|
||
|
||
:dfn:`schedulable`
|
||
A set of tasks which can be guaranteed
|
||
to meet their deadlines based upon a specific scheduling
|
||
algorithm.
|
||
|
||
:dfn:`schedule`
|
||
The process of choosing which task should
|
||
next enter the executing state.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`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. See `Configuring Clustered Schedulers`_.
|
||
|
||
:dfn:`segments`
|
||
Variable sized memory blocks allocated
|
||
from a region.
|
||
|
||
:dfn:`semaphore`
|
||
An RTEMS object which is used to
|
||
synchronize tasks and provide mutually exclusive access to
|
||
resources.
|
||
|
||
:dfn:`Semaphore Control Block`
|
||
A data structure associated
|
||
with each semaphore used by RTEMS to manage that semaphore.
|
||
|
||
:dfn:`shared memory`
|
||
Memory which is accessible by
|
||
multiple nodes in a multiprocessor system.
|
||
|
||
:dfn:`signal`
|
||
An RTEMS provided mechanism to communicate
|
||
asynchronously with a task. Upon reception of a signal, the ASR
|
||
of the receiving task will be invoked.
|
||
|
||
:dfn:`signal set`
|
||
A thirty-two bit entity which is used to
|
||
represent a task’s collection of pending signals and the signals
|
||
sent to a task.
|
||
|
||
:dfn:`SMCB`
|
||
An acronym for Semaphore Control Block.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`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.
|
||
|
||
:dfn:`soft real-time system`
|
||
A real-time system in which a
|
||
missed deadline does not compromise the integrity of the system.
|
||
|
||
:dfn:`sporadic task`
|
||
A task which executes at irregular
|
||
intervals and must comply with a hard deadline. A minimum
|
||
period of time between successive iterations of the task can be
|
||
guaranteed.
|
||
|
||
:dfn:`stack`
|
||
A data structure that is managed using a Last
|
||
In First Out (LIFO) discipline. Each task has a stack
|
||
associated with it which is used to store return information
|
||
and local variables.
|
||
|
||
:dfn:`status code`
|
||
Also known as error code or return
|
||
value.
|
||
|
||
:dfn:`suspend`
|
||
A term used to describe a task that is not
|
||
competing for the CPU because it has had a ``rtems.task_suspend`` directive.
|
||
|
||
:dfn:`synchronous`
|
||
Related in order or timing to other
|
||
occurrences in the system.
|
||
|
||
:dfn:`system call`
|
||
In this document, this is used as an
|
||
alternate term for directive.
|
||
|
||
:dfn:`target`
|
||
The system on which the application will
|
||
ultimately execute.
|
||
|
||
:dfn:`task`
|
||
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.
|
||
|
||
:dfn:`Task Control Block`
|
||
A data structure associated with
|
||
each task used by RTEMS to manage that task.
|
||
|
||
:dfn:`task migration`
|
||
:dfn:`Task migration` happens in case a task stops execution on one processor
|
||
and resumes execution on another processor.
|
||
|
||
:dfn:`task processor affinity`
|
||
The set of processors on which a task is allowed to execute.
|
||
|
||
:dfn:`task switch`
|
||
Alternate terminology for context
|
||
switch. Taking control of the processor from one task and given
|
||
to another.
|
||
|
||
:dfn:`TCB`
|
||
An acronym for Task Control Block.
|
||
|
||
:dfn:`thread dispatch`
|
||
The :dfn:`thread dispatch` transfers control of the processor from the currently
|
||
executing thread to the heir thread of the processor.
|
||
|
||
:dfn:`tick`
|
||
The basic unit of time used by RTEMS. It is a
|
||
user-configurable number of microseconds. The current tick
|
||
expires when the ``rtems.clock_tick``
|
||
directive is invoked.
|
||
|
||
:dfn:`tightly-coupled`
|
||
A multiprocessor configuration
|
||
system which communicates via shared memory.
|
||
|
||
:dfn:`timeout`
|
||
An argument provided to a number of
|
||
directives which determines the maximum length of time an
|
||
application task is willing to wait to acquire the resource if
|
||
it is not immediately available.
|
||
|
||
:dfn:`timer`
|
||
An RTEMS object used to invoke subprograms at
|
||
a later time.
|
||
|
||
:dfn:`Timer Control Block`
|
||
A data structure associated
|
||
with each timer used by RTEMS to manage that timer.
|
||
|
||
:dfn:`timeslicing`
|
||
A task scheduling discipline in which
|
||
tasks of equal priority are executed for a specific period of
|
||
time before being preempted by another task.
|
||
|
||
:dfn:`timeslice`
|
||
The application defined unit of time in
|
||
which the processor is allocated.
|
||
|
||
:dfn:`TMCB`
|
||
An acronym for Timer Control Block.
|
||
|
||
:dfn:`transient overload`
|
||
A temporary rise in system
|
||
activity which may cause deadlines to be missed. Rate Monotonic
|
||
Scheduling can be used to determine if all deadlines will be met
|
||
under transient overload.
|
||
|
||
:dfn:`user extensions`
|
||
Software routines provided by the
|
||
application to enhance the functionality of RTEMS.
|
||
|
||
:dfn:`User Extension Table`
|
||
A table which contains the
|
||
entry points for each user extensions.
|
||
|
||
:dfn:`User Initialization Tasks Table`
|
||
A table which
|
||
contains the information needed to create and start each of the
|
||
user initialization tasks.
|
||
|
||
:dfn:`user-provided`
|
||
Alternate term for user-supplied.
|
||
This term is used to designate any software routines which must
|
||
be written by the application designer.
|
||
|
||
:dfn:`user-supplied`
|
||
Alternate term for user-provided.
|
||
This term is used to designate any software routines which must
|
||
be written by the application designer.
|
||
|
||
:dfn:`vector`
|
||
Memory pointers used by the processor to
|
||
fetch the address of routines which will handle various
|
||
exceptions and interrupts.
|
||
|
||
:dfn:`wait queue`
|
||
The list of tasks blocked pending the
|
||
release of a particular resource. Message queues, regions, and
|
||
semaphores have a wait queue associated with them.
|
||
|
||
:dfn:`yield`
|
||
When a task voluntarily releases control of the processor.
|
||
|