summaryrefslogtreecommitdiffstats
path: root/c_user/glossary.rst
blob: 5464bf4183faaca410995d746705ce6d50515ced (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
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.