summaryrefslogtreecommitdiffstats
path: root/ada_user/glossary.rst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ada_user/glossary.rst833
1 files changed, 0 insertions, 833 deletions
diff --git a/ada_user/glossary.rst b/ada_user/glossary.rst
deleted file mode 100644
index dfa7874..0000000
--- a/ada_user/glossary.rst
+++ /dev/null
@@ -1,833 +0,0 @@
-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.
-