active | A term used to describe an object which has been created by an
application.
|
aperiodic task | A task which must execute only at irregular intervals and has only a
soft deadline. |
application | In this document, software which makes use of RTEMS.
|
ASR | see Asynchronous Signal Routine.
|
asynchronous | Not related in order or timing to other occurrences in the system.
|
Asynchronous | Similar to a hardware interrupt except that it is associated
|
Signal Routine | with a task and is run in the context of a task. The directives
provided by the signal manager are used to service signals.
|
awakened | A term used to describe a task that has been unblocked and may be
scheduled to the CPU.
|
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.
|
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.
|
block | A physically contiguous area of memory.
|
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.
|
broadcast | To simultaneously send a message to a logical set of destinations.
|
BSP | see Board Support Package.
|
Board Support Package | A collection of device initialization and control routines specific to
a particular type of board or collection of boards.
|
buffer | A fixed length block of memory allocated from a partition. |
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.
|
Central Processing Unit | This term is equivalent to the terms processor and microprocessor.
|
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.
|
coalesce | The process of merging adjacent holes into a single larger hole.
Sometimes this process is referred to as garbage collection.
|
Configuration Table | A table which contains information used to tailor RTEMS for a
particular application.
|
context | All of the processor registers and operating system data structures
associated with a task.
|
context switch | Alternate term for task switch. Taking control of the processor from
one task and transferring it to another task.
|
control block | A data structure used by the executive to define and control an object.
|
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. |
CPU | An acronym for Central
Processing Unit.
|
critical section | A
section of code which must be executed indivisibly.
|
CRT | An acronym for Cathode Ray Tube. Normally used in reference to the
man-machine interface.
|
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.
|
device | A peripheral used by the application that requires special operation
software. See also device driver.
|
device driver | Control software for special peripheral devices used by the
application.
|
directives | RTEMS' provided routines that provide support mechanisms for real-time
applications.
|
dispatch | The act of loading a task's context onto the CPU and transferring
control of the CPU to that task.
|
dormant | The state entered by a task after it is created and before it has been
started.
|
Device Driver Table | A table which contains the entry points for each of the configured
device drivers.
|
dual-ported | A term used to describe memory which can be accessed at two different
addresses.
|
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.
|
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.
|
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.
|
events | A method for task communication and synchronization. The directives
provided by the event manager are used to service events.
|
exception | A synonym for interrupt.
|
executing | The task state entered by a task after it has been given control of
the CPU.
|
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.
|
exported | An object known by all nodes in a multiprocessor system. An object
created with the GLOBAL attribute will be exported.
|
external address | The address used to access dual-ported memory by all the nodes in a
system which do not own the memory.
|
FIFO | An acronym for First In First Out.
|
First In First Out | A discipline for manipulating entries in a data structure. |
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.
|
freed | A resource
that has been released by the application to RTEMS.
|
global | An object
that has been created with the GLOBAL attribute and exported to all
nodes in a multiprocessor system.
|
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.
|
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.
|
heap | A data
structure used to dynamically allocate and deallocate variable sized
blocks of memory.
|
heterogeneous | A
multiprocessor computer system composed of dissimilar processors.
|
homogeneous | A
multiprocessor computer system composed of a single type of processor.
|
ID | An RTEMS
assigned identification tag used to access an active object.
|
IDLE task | A
special low priority task which assumes control of the CPU when no other
task is able to execute.
|
interface | A specification of the methodology used to connect multiple independent
subsystems.
|
internal address | The
address used to access dual-ported memory by the node which owns the
memory.
|
interrupt | A
hardware facility that causes the CPU to suspend execution, save its
status, and transfer control to a specific location. |
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. |
Interrupt
Service Routine | An ISR is invoked by the CPU to
process a pending interrupt.
|
I/O | An acronym
for Input/Output. |
ISR | An acronym for Interrupt Service Routine. |
kernel | In this document, this term is used as a
synonym for executive.
|
list | A data
structure which allows for dynamic addition and removal of entries. It
is not statically limited to a particular size.
|
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.
|
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.
|
local operation | The
manipulation of an object which resides on the same node as the calling
task.
|
logical address | An
address used by an application. In a system without memory management,
logical addresses will equal physical addresses.
|
loosely-coupled | A
multiprocessor configuration where shared memory is not used for
communication.
|
major number | The
index of a device driver in the Device Driver Table. |
manager | A group of related RTEMS' directives
which provide access and control over resources.
|
memory pool | Used
interchangeably with heap.
|
message | A sixteen
byte entity used to communicate between tasks. Messages are sent to
message queues and stored in message buffers.
|
message buffer | A
block of memory used to store messages.
|
message queue | An
RTEMS object used to synchronize and communicate between tasks by
transporting messages between sending and receiving tasks.
|
Message Queue Control Block | A data structure associated with each message queue used by RTEMS to
manage that message queue.
|
minor number | A
numeric value passed to a device driver, the exact usage of which is
driver dependent.
|
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.
|
MPCI | An acronym
for Multiprocessor Communications Interface Layer.
|
multiprocessing | The
simultaneous execution of two or more processes by a multiple processor
computer system.
|
multiprocessor | A
computer with multiple CPUs available for executing applications.
|
Multiprocessor Communications Interface
Layer | A set of user-provided routines which enable
the nodes in a multiprocessor system to communicate with one another.
|
Multiprocessor Configuration Table | The data structure defining the characteristics of the multiprocessor
target system with which RTEMS will communicate.
|
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.
|
mutual exclusion | A
term used to describe the act of preventing other tasks from accessing a
resource simultaneously.
|
nested | A term
used to describe an ASR that occurs during another ASR or an ISR that
occurs during another ISR.
|
node | A term used
to reference a processor running RTEMS in a multiprocessor system.
|
non-existent | The
state occupied by an uncreated or deleted task.
|
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.
|
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.
|
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.
|
operating system | The
software which controls all the computer's resources and provides the
base upon which application programs can be written.
|
overhead | The
portion of the CPUs processing power consumed by the operating system.
|
packet | A buffer
which contains the messages passed between nodes in a multiprocessor
system. A packet is the contents of an envelope.
|
partition | An
RTEMS object which is used to allocate and deallocate fixed size blocks
of memory from an dynamically specified area of memory.
|
Partition Control Block | A data structure associated with each partition used by RTEMS to manage
that partition.
|
pending | A term
used to describe a task blocked waiting for an event, message,
semaphore, or signal.
|
periodic task | A
task which must execute at regular intervals and comply with a hard
deadline.
|
physical address | The
actual hardware address of a resource.
|
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.
|
pool | A
collection from which resources are allocated.
|
portability | A
term used to describe the ease with which software can be rehosted on
another computer.
|
posting | The act
of sending an event, message, semaphore, or signal to a task.
|
preempt | The act
of forcing a task to relinquish the processor and dispatching to 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.
|
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.
|
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.
|
processor utilization |
The percentage of processor time used by a task or a set of tasks.
|
proxy | An RTEMS
control structure used to represent, on a remote node, a task which must
block as part of a remote operation.
|
Proxy Control Block |
A data structure associated with each proxy used by RTEMS to manage that
proxy.
|
PTCB | An acronym
for Partition Control Block.
|
PXCB | An acronym
for Proxy Control Block.
|
quantum | The
application defined unit of time in which the processor is allocated.
|
queue | Alternate
term for message queue.
|
QCB | An acronym
for Message Queue Control Block.
|
ready | A task
occupies this state when it is available to be given control of the CPU.
|
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.
|
reentrant | A term
used to describe routines which do not modify themselves or global
variables.
|
region | An RTEMS
object which is used to allocate and deallocate variable size blocks of
memory from a dynamically specified area of memory.
|
Region Control Block |
A data structure associated with each region used by RTEMS to manage
that region.
|
registers | Registers
are locations physically located within a component, typically used for
device control or general purpose storage.
|
remote | Any
object that does not reside on the local node.
|
remote operation | The
manipulation of an object which does not reside on the same node as the
calling task.
|
return code | Also
known as error code or return value.
|
resource | A
hardware or software entity to which access must be controlled.
|
resume | Removing a
task from the suspend state. If the task's state is ready following a
call to the task_resume directive, then the task is available for
scheduling.
|
return code | A
value returned by RTEMS directives to indicate the completion status of
the directive.
|
RNCB | An acronym
for Region Control Block.
|
round-robin | A
task scheduling discipline in which tasks of equal priority are executed
in the order in which they are made ready.
|
RS-232 | A standard
for serial communications.
|
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.
|
schedule | The
process of choosing which task should next enter the executing state.
|
schedulable | A set
of tasks which can be guaranteed to meet their deadlines based upon a
specific scheduling algorithm.
|
segments | Variable
sized memory blocks allocated from a region.
|
semaphore | An
RTEMS object which is used to synchronize tasks and provide mutually
exclusive access to resources.
|
Semaphore Control Block | A data structure associated with each semaphore used by RTEMS to manage
that semaphore.
|
shared memory | Memory
which is accessible by multiple nodes in a multiprocessor system.
|
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.
|
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.
|
SMCB | An acronym
for Semaphore Control Block.
|
soft real-time system |
A real-time system in which a missed deadline does not compromise the
integrity of the system.
|
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.
|
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.
|
status code | Also
known as error code or return value.
|
suspend | A term
used to describe a task that is not competing for the CPU because it has
had a task_suspend directive.
|
synchronous | Related
in order or timing to other occurrences in the system.
|
system call | In
this document, this is used as an alternate term for directive.
|
target | The system
on which the application will ultimately execute.
|
task | A logically
complete thread of execution. The CPU is allocated among the ready
tasks.
|
Task Control Block |
A data structure associated with each task used by RTEMS to manage that
task.
|
task switch | Alternate
terminology for context switch. Taking control of the processor from
one task and given to another.
|
TCB | An acronym
for Task Control Block.
|
tick | The basic
unit of time used by RTEMS. It is a user-configurable number of
microseconds. The current tick expires when the clock_tick directive is
invoked.
|
tightly-coupled | A
multiprocessor configuration system which communicates via shared
memory.
|
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.
|
timer | An RTEMS
object used to invoke subprograms at a later time.
|
Timer Control Block |
A data structure associated with each timer used by RTEMS to manage that
timer.
|
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.
|
timeslice | The
application defined unit of time in which the processor is allocated.
|
TMCB | An acronym
for Timer Control Block.
|
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.
|
user extensions | Software
routines provided by the application to enhance the functionality of
RTEMS.
|
User Extension Table |
A table which contains the entry points for each user extensions.
|
User Initialization Tasks Table | A table which contains the information needed to create and start each
of the user initialization tasks.
|
user-provided | Alternate
term for user-supplied. This term is used to designate any software
routines which must be written by the application designer.
|
user-supplied | Alternate
term for user-provided. This term is used to designate any software
routines which must be written by the application designer.
|
vector | Memory
pointers used by the processor to fetch the address of routines which
will handle various exceptions and interrupts.
|
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. |
yield | When
a task voluntarily releases control of the processor. |