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