1 | @c |
---|
2 | @c COPYRIGHT (c) 1989-2011. |
---|
3 | @c On-Line Applications Research Corporation (OAR). |
---|
4 | @c All rights reserved. |
---|
5 | |
---|
6 | @node Glossary, Command and Variable Index, Example Application, Top |
---|
7 | @chapter Glossary |
---|
8 | |
---|
9 | @table @dfn |
---|
10 | @item active |
---|
11 | A term used to describe an object |
---|
12 | which has been created by an application. |
---|
13 | |
---|
14 | @item aperiodic task |
---|
15 | A task which must execute only at |
---|
16 | irregular intervals and has only a soft deadline. |
---|
17 | |
---|
18 | @item application |
---|
19 | In this document, software which makes |
---|
20 | use of RTEMS. |
---|
21 | |
---|
22 | @item ASR |
---|
23 | see Asynchronous Signal Routine. |
---|
24 | |
---|
25 | @item asynchronous |
---|
26 | Not related in order or timing to |
---|
27 | other occurrences in the system. |
---|
28 | |
---|
29 | @item Asynchronous Signal Routine |
---|
30 | Similar to a hardware |
---|
31 | interrupt except that it is associated with a task and is run in |
---|
32 | the context of a task. The directives provided by the signal |
---|
33 | manager are used to service signals. |
---|
34 | |
---|
35 | @item atomic operations |
---|
36 | Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}. |
---|
37 | |
---|
38 | @item awakened |
---|
39 | A term used to describe a task that has |
---|
40 | been unblocked and may be scheduled to the CPU. |
---|
41 | |
---|
42 | @item big endian |
---|
43 | A data representation scheme in which |
---|
44 | the bytes composing a numeric value are arranged such that the |
---|
45 | most significant byte is at the lowest address. |
---|
46 | |
---|
47 | @item bit-mapped |
---|
48 | A data encoding scheme in which each bit |
---|
49 | in a variable is used to represent something different. This |
---|
50 | makes for compact data representation. |
---|
51 | |
---|
52 | @item block |
---|
53 | A physically contiguous area of memory. |
---|
54 | |
---|
55 | @item blocked task |
---|
56 | The task state entered by a task which has been previously started and cannot |
---|
57 | continue execution until the reason for waiting has been satisfied. Blocked |
---|
58 | tasks are not an element of the set of ready tasks of a scheduler instance. |
---|
59 | |
---|
60 | @item broadcast |
---|
61 | To simultaneously send a message to a |
---|
62 | logical set of destinations. |
---|
63 | |
---|
64 | @item BSP |
---|
65 | see Board Support Package. |
---|
66 | |
---|
67 | @item Board Support Package |
---|
68 | A collection of device |
---|
69 | initialization and control routines specific to a particular |
---|
70 | type of board or collection of boards. |
---|
71 | |
---|
72 | @item buffer |
---|
73 | A fixed length block of memory allocated |
---|
74 | from a partition. |
---|
75 | |
---|
76 | @item calling convention |
---|
77 | The processor and compiler |
---|
78 | dependent rules which define the mechanism used to invoke |
---|
79 | subroutines in a high-level language. These rules define the |
---|
80 | passing of arguments, the call and return mechanism, and the |
---|
81 | register set which must be preserved. |
---|
82 | |
---|
83 | @item Central Processing Unit |
---|
84 | This term is equivalent to |
---|
85 | the terms processor and microprocessor. |
---|
86 | |
---|
87 | @item chain |
---|
88 | A data structure which allows for efficient |
---|
89 | dynamic addition and removal of elements. It differs from an |
---|
90 | array in that it is not limited to a predefined size. |
---|
91 | |
---|
92 | @item cluster |
---|
93 | We have clustered scheduling in case the set of processors of a system is |
---|
94 | partitioned into non-empty pairwise disjoint subsets. These subsets are called |
---|
95 | @dfn{clusters}. Clusters with a cardinality of one are partitions. Each |
---|
96 | cluster is owned by exactly one scheduler instance. |
---|
97 | |
---|
98 | @item coalesce |
---|
99 | The process of merging adjacent holes into |
---|
100 | a single larger hole. Sometimes this process is referred to as |
---|
101 | garbage collection. |
---|
102 | |
---|
103 | @item Configuration Table |
---|
104 | A table which contains |
---|
105 | information used to tailor RTEMS for a particular application. |
---|
106 | |
---|
107 | @item context |
---|
108 | All of the processor registers and |
---|
109 | operating system data structures associated with a task. |
---|
110 | |
---|
111 | @item context switch |
---|
112 | Alternate term for task switch. |
---|
113 | Taking control of the processor from one task and transferring |
---|
114 | it to another task. |
---|
115 | |
---|
116 | @item control block |
---|
117 | A data structure used by the |
---|
118 | executive to define and control an object. |
---|
119 | |
---|
120 | @item core |
---|
121 | When used in this manual, this term refers to |
---|
122 | the internal executive utility functions. In the interest of |
---|
123 | application portability, the core of the executive should not be |
---|
124 | used directly by applications. |
---|
125 | |
---|
126 | @item CPU |
---|
127 | An acronym for Central Processing Unit. |
---|
128 | |
---|
129 | @item critical section |
---|
130 | A section of code which must be |
---|
131 | executed indivisibly. |
---|
132 | |
---|
133 | @item CRT |
---|
134 | An acronym for Cathode Ray Tube. Normally used |
---|
135 | in reference to the man-machine interface. |
---|
136 | |
---|
137 | @item deadline |
---|
138 | A fixed time limit by which a task must |
---|
139 | have completed a set of actions. Beyond this point, the results |
---|
140 | are of reduced value and may even be considered useless or |
---|
141 | harmful. |
---|
142 | |
---|
143 | @item device |
---|
144 | A peripheral used by the application that |
---|
145 | requires special operation software. See also device driver. |
---|
146 | |
---|
147 | @item device driver |
---|
148 | Control software for special |
---|
149 | peripheral devices used by the application. |
---|
150 | |
---|
151 | @item directives |
---|
152 | RTEMS' provided routines that provide |
---|
153 | support mechanisms for real-time applications. |
---|
154 | |
---|
155 | @item dispatch |
---|
156 | The act of loading a task's context onto |
---|
157 | the CPU and transferring control of the CPU to that task. |
---|
158 | |
---|
159 | @item dormant |
---|
160 | The state entered by a task after it is |
---|
161 | created and before it has been started. |
---|
162 | |
---|
163 | @item Device Driver Table |
---|
164 | A table which contains the |
---|
165 | entry points for each of the configured device drivers. |
---|
166 | |
---|
167 | @item dual-ported |
---|
168 | A term used to describe memory which |
---|
169 | can be accessed at two different addresses. |
---|
170 | |
---|
171 | @item embedded |
---|
172 | An application that is delivered as a |
---|
173 | hidden part of a larger system. For example, the software in a |
---|
174 | fuel-injection control system is an embedded application found |
---|
175 | in many late-model automobiles. |
---|
176 | |
---|
177 | @item envelope |
---|
178 | A buffer provided by the MPCI layer to |
---|
179 | RTEMS which is used to pass messages between nodes in a |
---|
180 | multiprocessor system. It typically contains routing |
---|
181 | information needed by the MPCI. The contents of an envelope are |
---|
182 | referred to as a packet. |
---|
183 | |
---|
184 | @item entry point |
---|
185 | The address at which a function or task |
---|
186 | begins to execute. In C, the entry point of a function is the |
---|
187 | function's name. |
---|
188 | |
---|
189 | @item events |
---|
190 | A method for task communication and |
---|
191 | synchronization. The directives provided by the event manager |
---|
192 | are used to service events. |
---|
193 | |
---|
194 | @item exception |
---|
195 | A synonym for interrupt. |
---|
196 | |
---|
197 | @item executing task |
---|
198 | The task state entered by a task after it has been given control of the |
---|
199 | processor. On SMP configurations a task may be registered as executing on more |
---|
200 | than one processor for short time frames during task migration. Blocked tasks |
---|
201 | can be executing until they issue a thread dispatch. |
---|
202 | |
---|
203 | @item executive |
---|
204 | In this document, this term is used to |
---|
205 | referred to RTEMS. Commonly, an executive is a small real-time |
---|
206 | operating system used in embedded systems. |
---|
207 | |
---|
208 | @item exported |
---|
209 | An object known by all nodes in a |
---|
210 | multiprocessor system. An object created with the GLOBAL |
---|
211 | attribute will be exported. |
---|
212 | |
---|
213 | @item external address |
---|
214 | The address used to access |
---|
215 | dual-ported memory by all the nodes in a system which do not own |
---|
216 | the memory. |
---|
217 | |
---|
218 | @item FIFO |
---|
219 | An acronym for First In First Out. |
---|
220 | |
---|
221 | @item First In First Out |
---|
222 | A discipline for manipulating entries in a data structure. |
---|
223 | |
---|
224 | @item floating point coprocessor |
---|
225 | A component used in |
---|
226 | computer systems to enhance performance in mathematically |
---|
227 | intensive situations. It is typically viewed as a logical |
---|
228 | extension of the primary processor. |
---|
229 | |
---|
230 | @item freed |
---|
231 | A resource that has been released by the |
---|
232 | application to RTEMS. |
---|
233 | |
---|
234 | @item Giant lock |
---|
235 | The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the |
---|
236 | operating system state. Virtually every operating system service must acquire |
---|
237 | and release the Giant lock during its operation. |
---|
238 | |
---|
239 | @item global |
---|
240 | An object that has been created with the |
---|
241 | GLOBAL attribute and exported to all nodes in a multiprocessor |
---|
242 | system. |
---|
243 | |
---|
244 | @item handler |
---|
245 | The equivalent of a manager, except that it |
---|
246 | is internal to RTEMS and forms part of the core. A handler is a |
---|
247 | collection of routines which provide a related set of functions. |
---|
248 | For example, there is a handler used by RTEMS to manage all |
---|
249 | objects. |
---|
250 | |
---|
251 | @item hard real-time system |
---|
252 | A real-time system in which a |
---|
253 | missed deadline causes the worked performed to have no value or |
---|
254 | to result in a catastrophic effect on the integrity of the |
---|
255 | system. |
---|
256 | |
---|
257 | @item heap |
---|
258 | A data structure used to dynamically allocate |
---|
259 | and deallocate variable sized blocks of memory. |
---|
260 | |
---|
261 | @item heir task |
---|
262 | A task is an @dfn{heir} if it is registered as an heir in a processor of the |
---|
263 | system. A task can be the heir on at most one processor in the system. In |
---|
264 | case the executing and heir tasks differ on a processor and a thread dispatch |
---|
265 | is marked as necessary, then the next thread dispatch will make the heir task |
---|
266 | the executing task. |
---|
267 | |
---|
268 | @item heterogeneous |
---|
269 | A multiprocessor computer system composed of dissimilar processors. |
---|
270 | |
---|
271 | @item homogeneous |
---|
272 | A multiprocessor computer system composed of a single type of processor. |
---|
273 | |
---|
274 | @item ID |
---|
275 | An RTEMS assigned identification tag used to |
---|
276 | access an active object. |
---|
277 | |
---|
278 | @item IDLE task |
---|
279 | A special low priority task which assumes |
---|
280 | control of the CPU when no other task is able to execute. |
---|
281 | |
---|
282 | @item interface |
---|
283 | A specification of the methodology used |
---|
284 | to connect multiple independent subsystems. |
---|
285 | |
---|
286 | @item internal address |
---|
287 | The address used to access |
---|
288 | dual-ported memory by the node which owns the memory. |
---|
289 | |
---|
290 | @item interrupt |
---|
291 | A hardware facility that causes the CPU |
---|
292 | to suspend execution, save its status, and transfer control to a |
---|
293 | specific location. |
---|
294 | |
---|
295 | @item interrupt level |
---|
296 | A mask used to by the CPU to |
---|
297 | determine which pending interrupts should be serviced. If a |
---|
298 | pending interrupt is below the current interrupt level, then the |
---|
299 | CPU does not recognize that interrupt. |
---|
300 | |
---|
301 | @item Interrupt Service Routine |
---|
302 | An ISR is invoked by the |
---|
303 | CPU to process a pending interrupt. |
---|
304 | |
---|
305 | @item I/O |
---|
306 | An acronym for Input/Output. |
---|
307 | |
---|
308 | @item ISR |
---|
309 | An acronym for Interrupt Service Routine. |
---|
310 | |
---|
311 | @item kernel |
---|
312 | In this document, this term is used as a |
---|
313 | synonym for executive. |
---|
314 | |
---|
315 | @item list |
---|
316 | A data structure which allows for dynamic |
---|
317 | addition and removal of entries. It is not statically limited |
---|
318 | to a particular size. |
---|
319 | |
---|
320 | @item little endian |
---|
321 | A data representation scheme in which |
---|
322 | the bytes composing a numeric value are arranged such that the |
---|
323 | least significant byte is at the lowest address. |
---|
324 | |
---|
325 | @item local |
---|
326 | An object which was created with the LOCAL |
---|
327 | attribute and is accessible only on the node it was created and |
---|
328 | resides upon. In a single processor configuration, all objects |
---|
329 | are local. |
---|
330 | |
---|
331 | @item local operation |
---|
332 | The manipulation of an object which |
---|
333 | resides on the same node as the calling task. |
---|
334 | |
---|
335 | @item logical address |
---|
336 | An address used by an application. |
---|
337 | In a system without memory management, logical addresses will |
---|
338 | equal physical addresses. |
---|
339 | |
---|
340 | @item loosely-coupled |
---|
341 | A multiprocessor configuration |
---|
342 | where shared memory is not used for communication. |
---|
343 | |
---|
344 | @item major number |
---|
345 | The index of a device driver in the |
---|
346 | Device Driver Table. |
---|
347 | |
---|
348 | @item manager |
---|
349 | A group of related RTEMS' directives which |
---|
350 | provide access and control over resources. |
---|
351 | |
---|
352 | @item memory pool |
---|
353 | Used interchangeably with heap. |
---|
354 | |
---|
355 | @item message |
---|
356 | A sixteen byte entity used to communicate |
---|
357 | between tasks. Messages are sent to message queues and stored |
---|
358 | in message buffers. |
---|
359 | |
---|
360 | @item message buffer |
---|
361 | A block of memory used to store |
---|
362 | messages. |
---|
363 | |
---|
364 | @item message queue |
---|
365 | An RTEMS object used to synchronize |
---|
366 | and communicate between tasks by transporting messages between |
---|
367 | sending and receiving tasks. |
---|
368 | |
---|
369 | @item Message Queue Control Block |
---|
370 | A data structure associated with each message queue used by RTEMS |
---|
371 | to manage that message queue. |
---|
372 | |
---|
373 | @item minor number |
---|
374 | A numeric value passed to a device |
---|
375 | driver, the exact usage of which is driver dependent. |
---|
376 | |
---|
377 | @item mode |
---|
378 | An entry in a task's control block that is |
---|
379 | used to determine if the task allows preemption, timeslicing, |
---|
380 | processing of signals, and the interrupt disable level used by |
---|
381 | the task. |
---|
382 | |
---|
383 | @item MPCI |
---|
384 | An acronym for Multiprocessor Communications |
---|
385 | Interface Layer. |
---|
386 | |
---|
387 | @item multiprocessing |
---|
388 | The simultaneous execution of two |
---|
389 | or more processes by a multiple processor computer system. |
---|
390 | |
---|
391 | @item multiprocessor |
---|
392 | A computer with multiple CPUs |
---|
393 | available for executing applications. |
---|
394 | |
---|
395 | @item Multiprocessor Communications Interface Layer |
---|
396 | A set |
---|
397 | of user-provided routines which enable the nodes in a |
---|
398 | multiprocessor system to communicate with one another. |
---|
399 | |
---|
400 | @item Multiprocessor Configuration Table |
---|
401 | The data structure defining the characteristics of the multiprocessor |
---|
402 | target system with which RTEMS will communicate. |
---|
403 | |
---|
404 | @item multitasking |
---|
405 | The alternation of execution amongst a |
---|
406 | group of processes on a single CPU. A scheduling algorithm is |
---|
407 | used to determine which process executes at which time. |
---|
408 | |
---|
409 | @item mutual exclusion |
---|
410 | A term used to describe the act of |
---|
411 | preventing other tasks from accessing a resource simultaneously. |
---|
412 | |
---|
413 | @item nested |
---|
414 | A term used to describe an ASR that occurs |
---|
415 | during another ASR or an ISR that occurs during another ISR. |
---|
416 | |
---|
417 | @item node |
---|
418 | A term used to reference a processor running |
---|
419 | RTEMS in a multiprocessor system. |
---|
420 | |
---|
421 | @item non-existent |
---|
422 | The state occupied by an uncreated or |
---|
423 | deleted task. |
---|
424 | |
---|
425 | @item numeric coprocessor |
---|
426 | A component used in computer |
---|
427 | systems to enhance performance in mathematically intensive |
---|
428 | situations. It is typically viewed as a logical extension of |
---|
429 | the primary processor. |
---|
430 | |
---|
431 | @item object |
---|
432 | In this document, this term is used to refer |
---|
433 | collectively to tasks, timers, message queues, partitions, |
---|
434 | regions, semaphores, ports, and rate monotonic periods. All |
---|
435 | RTEMS objects have IDs and user-assigned names. |
---|
436 | |
---|
437 | @item object-oriented |
---|
438 | A term used to describe systems |
---|
439 | with common mechanisms for utilizing a variety of entities. |
---|
440 | Object-oriented systems shield the application from |
---|
441 | implementation details. |
---|
442 | |
---|
443 | @item operating system |
---|
444 | The software which controls all |
---|
445 | the computer's resources and provides the base upon which |
---|
446 | application programs can be written. |
---|
447 | |
---|
448 | @item overhead |
---|
449 | The portion of the CPUs processing power |
---|
450 | consumed by the operating system. |
---|
451 | |
---|
452 | @item packet |
---|
453 | A buffer which contains the messages passed |
---|
454 | between nodes in a multiprocessor system. A packet is the |
---|
455 | contents of an envelope. |
---|
456 | |
---|
457 | @item partition |
---|
458 | An RTEMS object which is used to allocate |
---|
459 | and deallocate fixed size blocks of memory from an dynamically |
---|
460 | specified area of memory. |
---|
461 | |
---|
462 | @item partition |
---|
463 | Clusters with a cardinality of one are @dfn{partitions}. |
---|
464 | |
---|
465 | @item Partition Control Block |
---|
466 | A data structure associated |
---|
467 | with each partition used by RTEMS to manage that partition. |
---|
468 | |
---|
469 | @item pending |
---|
470 | A term used to describe a task blocked |
---|
471 | waiting for an event, message, semaphore, or signal. |
---|
472 | |
---|
473 | @item periodic task |
---|
474 | A task which must execute at regular |
---|
475 | intervals and comply with a hard deadline. |
---|
476 | |
---|
477 | @item physical address |
---|
478 | The actual hardware address of a |
---|
479 | resource. |
---|
480 | |
---|
481 | @item poll |
---|
482 | A mechanism used to determine if an event has |
---|
483 | occurred by periodically checking for a particular status. |
---|
484 | Typical events include arrival of data, completion of an action, |
---|
485 | and errors. |
---|
486 | |
---|
487 | @item pool |
---|
488 | A collection from which resources are |
---|
489 | allocated. |
---|
490 | |
---|
491 | @item portability |
---|
492 | A term used to describe the ease with |
---|
493 | which software can be rehosted on another computer. |
---|
494 | |
---|
495 | @item posting |
---|
496 | The act of sending an event, message, |
---|
497 | semaphore, or signal to a task. |
---|
498 | |
---|
499 | @item preempt |
---|
500 | The act of forcing a task to relinquish the |
---|
501 | processor and dispatching to another task. |
---|
502 | |
---|
503 | @item priority |
---|
504 | A mechanism used to represent the relative |
---|
505 | importance of an element in a set of items. RTEMS uses priority |
---|
506 | to determine which task should execute. |
---|
507 | |
---|
508 | @item priority boosting |
---|
509 | A simple approach to extend the priority inheritance protocol for clustered |
---|
510 | scheduling is @dfn{priority boosting}. In case a mutex is owned by a task of |
---|
511 | another cluster, then the priority of the owner task is raised to an |
---|
512 | artificially high priority, the pseudo-interrupt priority. |
---|
513 | |
---|
514 | @item priority inheritance |
---|
515 | An algorithm that calls for |
---|
516 | the lower priority task holding a resource to have its priority |
---|
517 | increased to that of the highest priority task blocked waiting |
---|
518 | for that resource. This avoids the problem of priority |
---|
519 | inversion. |
---|
520 | |
---|
521 | @item priority inversion |
---|
522 | A form of indefinite |
---|
523 | postponement which occurs when a high priority tasks requests |
---|
524 | access to shared resource currently allocated to low priority |
---|
525 | task. The high priority task must block until the low priority |
---|
526 | task releases the resource. |
---|
527 | |
---|
528 | @item processor utilization |
---|
529 | The percentage of processor |
---|
530 | time used by a task or a set of tasks. |
---|
531 | |
---|
532 | @item proxy |
---|
533 | An RTEMS control structure used to represent, |
---|
534 | on a remote node, a task which must block as part of a remote |
---|
535 | operation. |
---|
536 | |
---|
537 | @item Proxy Control Block |
---|
538 | A data structure associated |
---|
539 | with each proxy used by RTEMS to manage that proxy. |
---|
540 | |
---|
541 | @item PTCB |
---|
542 | An acronym for Partition Control Block. |
---|
543 | |
---|
544 | @item PXCB |
---|
545 | An acronym for Proxy Control Block. |
---|
546 | |
---|
547 | @item quantum |
---|
548 | The application defined unit of time in |
---|
549 | which the processor is allocated. |
---|
550 | |
---|
551 | @item queue |
---|
552 | Alternate term for message queue. |
---|
553 | |
---|
554 | @item QCB |
---|
555 | An acronym for Message Queue Control Block. |
---|
556 | |
---|
557 | @item ready task |
---|
558 | A task occupies this state when it is available to be given control of a |
---|
559 | processor. A ready task has no processor assigned. The scheduler decided that |
---|
560 | other tasks are currently more important. A task that is ready to execute and |
---|
561 | has a processor assigned is called scheduled. |
---|
562 | |
---|
563 | @item real-time |
---|
564 | A term used to describe systems which are |
---|
565 | characterized by requiring deterministic response times to |
---|
566 | external stimuli. The external stimuli require that the |
---|
567 | response occur at a precise time or the response is incorrect. |
---|
568 | |
---|
569 | @item reentrant |
---|
570 | A term used to describe routines which do |
---|
571 | not modify themselves or global variables. |
---|
572 | |
---|
573 | @item region |
---|
574 | An RTEMS object which is used to allocate |
---|
575 | and deallocate variable size blocks of memory from a dynamically |
---|
576 | specified area of memory. |
---|
577 | |
---|
578 | @item Region Control Block |
---|
579 | A data structure associated |
---|
580 | with each region used by RTEMS to manage that region. |
---|
581 | |
---|
582 | @item registers |
---|
583 | Registers are locations physically |
---|
584 | located within a component, typically used for device control or |
---|
585 | general purpose storage. |
---|
586 | |
---|
587 | @item remote |
---|
588 | Any object that does not reside on the local |
---|
589 | node. |
---|
590 | |
---|
591 | @item remote operation |
---|
592 | The manipulation of an object |
---|
593 | which does not reside on the same node as the calling task. |
---|
594 | |
---|
595 | @item return code |
---|
596 | Also known as error code or return |
---|
597 | value. |
---|
598 | |
---|
599 | @item resource |
---|
600 | A hardware or software entity to which |
---|
601 | access must be controlled. |
---|
602 | |
---|
603 | @item resume |
---|
604 | Removing a task from the suspend state. If |
---|
605 | the task's state is ready following a call to the |
---|
606 | @code{@value{DIRPREFIX}task_resume} |
---|
607 | directive, then the task is available for scheduling. |
---|
608 | |
---|
609 | @item return code |
---|
610 | A value returned by RTEMS directives to |
---|
611 | indicate the completion status of the directive. |
---|
612 | |
---|
613 | @item RNCB |
---|
614 | An acronym for Region Control Block. |
---|
615 | |
---|
616 | @item round-robin |
---|
617 | A task scheduling discipline in which |
---|
618 | tasks of equal priority are executed in the order in which they |
---|
619 | are made ready. |
---|
620 | |
---|
621 | @item RS-232 |
---|
622 | A standard for serial communications. |
---|
623 | |
---|
624 | @item running |
---|
625 | The state of a rate monotonic timer while |
---|
626 | it is being used to delineate a period. The timer exits this |
---|
627 | state by either expiring or being canceled. |
---|
628 | |
---|
629 | @item schedulable |
---|
630 | A set of tasks which can be guaranteed |
---|
631 | to meet their deadlines based upon a specific scheduling |
---|
632 | algorithm. |
---|
633 | |
---|
634 | @item schedule |
---|
635 | The process of choosing which task should |
---|
636 | next enter the executing state. |
---|
637 | |
---|
638 | @item scheduled task |
---|
639 | A task is @dfn{scheduled} if it is allowed to execute and has a processor |
---|
640 | assigned. Such a task executes currently on a processor or is about to start |
---|
641 | execution. A task about to start execution it is an heir task on exactly one |
---|
642 | processor in the system. |
---|
643 | |
---|
644 | @item scheduler |
---|
645 | A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a |
---|
646 | subset of its set of ready tasks. So it manages access to the processor |
---|
647 | resource. Various algorithms exist to choose the tasks allowed to use a |
---|
648 | processor out of the set of ready tasks. One method is to assign each task a |
---|
649 | priority number and assign the tasks with the lowest priority number to one |
---|
650 | processor of the set of processors owned by a scheduler instance. |
---|
651 | |
---|
652 | @item scheduler instance |
---|
653 | A @dfn{scheduler instance} is a scheduling algorithm with a corresponding |
---|
654 | context to store its internal state. Each processor in the system is owned by |
---|
655 | at most one scheduler instance. The processor to scheduler instance assignment |
---|
656 | is determined at application configuration time. @xref{Configuring a System |
---|
657 | Configuring Clustered Schedulers}. |
---|
658 | |
---|
659 | @item segments |
---|
660 | Variable sized memory blocks allocated |
---|
661 | from a region. |
---|
662 | |
---|
663 | @item semaphore |
---|
664 | An RTEMS object which is used to |
---|
665 | synchronize tasks and provide mutually exclusive access to |
---|
666 | resources. |
---|
667 | |
---|
668 | @item Semaphore Control Block |
---|
669 | A data structure associated |
---|
670 | with each semaphore used by RTEMS to manage that semaphore. |
---|
671 | |
---|
672 | @item shared memory |
---|
673 | Memory which is accessible by |
---|
674 | multiple nodes in a multiprocessor system. |
---|
675 | |
---|
676 | @item signal |
---|
677 | An RTEMS provided mechanism to communicate |
---|
678 | asynchronously with a task. Upon reception of a signal, the ASR |
---|
679 | of the receiving task will be invoked. |
---|
680 | |
---|
681 | @item signal set |
---|
682 | A thirty-two bit entity which is used to |
---|
683 | represent a task's collection of pending signals and the signals |
---|
684 | sent to a task. |
---|
685 | |
---|
686 | @item SMCB |
---|
687 | An acronym for Semaphore Control Block. |
---|
688 | |
---|
689 | @item SMP locks |
---|
690 | The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a |
---|
691 | replacement for the sections of disabled interrupts. Interrupts are usually |
---|
692 | disabled while holding an SMP lock. They are implemented using atomic |
---|
693 | operations. Currently a ticket lock is used in RTEMS. |
---|
694 | |
---|
695 | @item SMP barriers |
---|
696 | The @dfn{SMP barriers} ensure that a defined set of independent threads of |
---|
697 | execution on a set of processors reaches a common synchronization point in |
---|
698 | time. They are implemented using atomic operations. Currently a sense barrier |
---|
699 | is used in RTEMS. |
---|
700 | |
---|
701 | @item soft real-time system |
---|
702 | A real-time system in which a |
---|
703 | missed deadline does not compromise the integrity of the system. |
---|
704 | |
---|
705 | @item sporadic task |
---|
706 | A task which executes at irregular |
---|
707 | intervals and must comply with a hard deadline. A minimum |
---|
708 | period of time between successive iterations of the task can be |
---|
709 | guaranteed. |
---|
710 | |
---|
711 | @item stack |
---|
712 | A data structure that is managed using a Last |
---|
713 | In First Out (LIFO) discipline. Each task has a stack |
---|
714 | associated with it which is used to store return information |
---|
715 | and local variables. |
---|
716 | |
---|
717 | @item status code |
---|
718 | Also known as error code or return |
---|
719 | value. |
---|
720 | |
---|
721 | @item suspend |
---|
722 | A term used to describe a task that is not |
---|
723 | competing for the CPU because it has had a |
---|
724 | @code{@value{DIRPREFIX}task_suspend} directive. |
---|
725 | |
---|
726 | @item synchronous |
---|
727 | Related in order or timing to other |
---|
728 | occurrences in the system. |
---|
729 | |
---|
730 | @item system call |
---|
731 | In this document, this is used as an |
---|
732 | alternate term for directive. |
---|
733 | |
---|
734 | @item target |
---|
735 | The system on which the application will |
---|
736 | ultimately execute. |
---|
737 | |
---|
738 | @item task |
---|
739 | A logically complete thread of execution. It consists normally of a set of |
---|
740 | registers and a stack. The terms @dfn{task} and @dfn{thread} are synonym in |
---|
741 | RTEMS. The scheduler assigns processors to a subset of the ready tasks. |
---|
742 | |
---|
743 | @item Task Control Block |
---|
744 | A data structure associated with |
---|
745 | each task used by RTEMS to manage that task. |
---|
746 | |
---|
747 | @item task migration |
---|
748 | @dfn{Task migration} happens in case a task stops execution on one processor |
---|
749 | and resumes execution on another processor. |
---|
750 | |
---|
751 | @item task processor affinity |
---|
752 | The set of processors on which a task is allowed to execute. |
---|
753 | |
---|
754 | @item task switch |
---|
755 | Alternate terminology for context |
---|
756 | switch. Taking control of the processor from one task and given |
---|
757 | to another. |
---|
758 | |
---|
759 | @item TCB |
---|
760 | An acronym for Task Control Block. |
---|
761 | |
---|
762 | @item thread dispatch |
---|
763 | The @dfn{thread dispatch} transfers control of the processor from the currently |
---|
764 | executing thread to the heir thread of the processor. |
---|
765 | |
---|
766 | @item tick |
---|
767 | The basic unit of time used by RTEMS. It is a |
---|
768 | user-configurable number of microseconds. The current tick |
---|
769 | expires when the @code{@value{DIRPREFIX}clock_tick} |
---|
770 | directive is invoked. |
---|
771 | |
---|
772 | @item tightly-coupled |
---|
773 | A multiprocessor configuration |
---|
774 | system which communicates via shared memory. |
---|
775 | |
---|
776 | @item timeout |
---|
777 | An argument provided to a number of |
---|
778 | directives which determines the maximum length of time an |
---|
779 | application task is willing to wait to acquire the resource if |
---|
780 | it is not immediately available. |
---|
781 | |
---|
782 | @item timer |
---|
783 | An RTEMS object used to invoke subprograms at |
---|
784 | a later time. |
---|
785 | |
---|
786 | @item Timer Control Block |
---|
787 | A data structure associated |
---|
788 | with each timer used by RTEMS to manage that timer. |
---|
789 | |
---|
790 | @item timeslicing |
---|
791 | A task scheduling discipline in which |
---|
792 | tasks of equal priority are executed for a specific period of |
---|
793 | time before being preempted by another task. |
---|
794 | |
---|
795 | @item timeslice |
---|
796 | The application defined unit of time in |
---|
797 | which the processor is allocated. |
---|
798 | |
---|
799 | @item TMCB |
---|
800 | An acronym for Timer Control Block. |
---|
801 | |
---|
802 | @item transient overload |
---|
803 | A temporary rise in system |
---|
804 | activity which may cause deadlines to be missed. Rate Monotonic |
---|
805 | Scheduling can be used to determine if all deadlines will be met |
---|
806 | under transient overload. |
---|
807 | |
---|
808 | @item user extensions |
---|
809 | Software routines provided by the |
---|
810 | application to enhance the functionality of RTEMS. |
---|
811 | |
---|
812 | @item User Extension Table |
---|
813 | A table which contains the |
---|
814 | entry points for each user extensions. |
---|
815 | |
---|
816 | @item User Initialization Tasks Table |
---|
817 | A table which |
---|
818 | contains the information needed to create and start each of the |
---|
819 | user initialization tasks. |
---|
820 | |
---|
821 | @item user-provided |
---|
822 | Alternate term for user-supplied. |
---|
823 | This term is used to designate any software routines which must |
---|
824 | be written by the application designer. |
---|
825 | |
---|
826 | @item user-supplied |
---|
827 | Alternate term for user-provided. |
---|
828 | This term is used to designate any software routines which must |
---|
829 | be written by the application designer. |
---|
830 | |
---|
831 | @item vector |
---|
832 | Memory pointers used by the processor to |
---|
833 | fetch the address of routines which will handle various |
---|
834 | exceptions and interrupts. |
---|
835 | |
---|
836 | @item wait queue |
---|
837 | The list of tasks blocked pending the |
---|
838 | release of a particular resource. Message queues, regions, and |
---|
839 | semaphores have a wait queue associated with them. |
---|
840 | |
---|
841 | @item yield |
---|
842 | When a task voluntarily releases control of the processor. |
---|
843 | |
---|
844 | @end table |
---|
845 | |
---|