summaryrefslogtreecommitdiffstats
path: root/doc/user/glossary.texi
blob: c4016c525c057db891b5cd8bf19ff1ab6e721b28 (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
@c
@c  COPYRIGHT (c) 1988-1998.
@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 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 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 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