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