- Timestamp:
- 05/05/14 19:55:13 (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 35a3af7a
- Parents:
- d9196d1d
- git-author:
- Sebastian Huber <sebastian.huber@…> (05/05/14 19:55:13)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (05/08/14 06:43:45)
- Location:
- doc/user
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/user/glossary.texi
rd9196d1d r29e6637e 33 33 manager are used to service signals. 34 34 35 @item atomic operations 36 Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}. 37 35 38 @item awakened 36 39 A term used to describe a task that has … … 50 53 A physically contiguous area of memory. 51 54 52 @item blocked 53 The task state entered by a task which has 54 been previously started and cannot continue execution until the 55 reason for waiting has been satisfied.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. 56 59 57 60 @item broadcast … … 87 90 array in that it is not limited to a predefined size. 88 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}. Each cluster is owned by exactly one scheduler instance. 96 89 97 @item coalesce 90 98 The process of merging adjacent holes into … … 186 194 A synonym for interrupt. 187 195 188 @item executing 189 The task state entered by a task after it 190 has been given control of the CPU. 196 @item executing task 197 The task state entered by a task after it has been given control of the 198 processor. On SMP configurations a task may be registered as executing on more 199 than one processor for short time frames during task migration. Blocked tasks 200 can be executing until they issue a thread dispatch. 191 201 192 202 @item executive … … 220 230 A resource that has been released by the 221 231 application to RTEMS. 232 233 @item Giant lock 234 The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the 235 operating system state. Virtually every operating system service must acquire 236 and release the Giant lock during its operation. 222 237 223 238 @item global … … 243 258 and deallocate variable sized blocks of memory. 244 259 260 @item heir task 261 A task is an @dfn{heir} if it is registered as an heir in a processor of the 262 system. A task can be the heir on at most one processor in the system. In 263 case the executing and heir tasks differ on a processor and a thread dispatch 264 is marked as necessary, then the next thread dispatch will make the heir task 265 the executing task. 266 245 267 @item heterogeneous 246 268 A multiprocessor computer system composed of dissimilar processors. … … 256 278 A special low priority task which assumes 257 279 control of the CPU when no other task is able to execute. 280 281 @item in the air task 282 A task is @dfn{in the air} if it is in a transient state and has a processor 283 assigned. The next scheduler operation will turn it into a blocked, ready or 284 scheduled task. This state is specific to SMP configurations. 258 285 259 286 @item interface … … 436 463 and deallocate fixed size blocks of memory from an dynamically 437 464 specified area of memory. 465 466 @item partition 467 Clusters with a cardinality of one are @dfn{partitions}. 438 468 439 469 @item Partition Control Block … … 523 553 An acronym for Message Queue Control Block. 524 554 525 @item ready 526 A task occupies this state when it is 527 available to be given control of the CPU. 555 @item ready task 556 A task occupies this state when it is available to be given control of a 557 processor. A ready task has no processor assigned. The scheduler decided that 558 other tasks are currently more important. A task that is ready to execute and 559 has a processor assigned is called scheduled. 528 560 529 561 @item real-time … … 593 625 state by either expiring or being canceled. 594 626 595 @item schedule596 The process of choosing which task should597 next enter the executing state.598 599 627 @item schedulable 600 628 A set of tasks which can be guaranteed … … 602 630 algorithm. 603 631 632 @item schedule 633 The process of choosing which task should 634 next enter the executing state. 635 636 @item scheduled task 637 A task is @dfn{scheduled} if it is allowed to execute and has a processor 638 assigned. Such a task executes currently on a processor or is about to start 639 execution. A task about to start execution it is an heir task on exactly one 640 processor in the system. 641 642 @item scheduler 643 A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a 644 subset of its set of ready tasks. So it manages access to the processor 645 resource. Various algorithms exist to choose the tasks allowed to use a 646 processor out of the set of ready tasks. One method is to assign each task a 647 priority number and assign the tasks with the lowest priority number to one 648 processor of the set of processors owned by a scheduler instance. 649 650 @item scheduler instance 651 A @dfn{scheduler instance} is a scheduling algorithm with a corresponding 652 context to store its internal state. Each processor in the system is owned by 653 at most one scheduler instance. The processor to scheduler instance assignment 654 is determined at application configuration time. @xref{Configuring a System 655 Configuring Clustered/Partitioned Schedulers}. 656 604 657 @item segments 605 658 Variable sized memory blocks allocated … … 631 684 @item SMCB 632 685 An acronym for Semaphore Control Block. 686 687 @item SMP locks 688 The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a 689 replacement for the sections of disabled interrupts. Interrupts are usually 690 disabled while holding an SMP lock. They are implemented using atomic 691 operations. Currently a ticket lock is used in RTEMS. 692 693 @item SMP barriers 694 The @dfn{SMP barriers} ensure that a defined set of independent threads of 695 execution on a set of processors reaches a common synchronization point in 696 time. They are implemented using atomic operations. Currently a sense barrier 697 is used in RTEMS. 633 698 634 699 @item soft real-time system … … 670 735 671 736 @item task 672 A logically complete thread of execution. The 673 CPU is allocated among the ready tasks. 737 A logically complete thread of execution. It consists normally of a set of 738 registers and a stack. The terms @dfn{task} and @dfn{thread} are synonym in 739 RTEMS. The scheduler assigns processors to a subset of the ready tasks. 674 740 675 741 @item Task Control Block 676 742 A data structure associated with 677 743 each task used by RTEMS to manage that task. 744 745 @item task migration 746 @dfn{Task migration} happens in case a task stops execution on one processor 747 and resumes execution on another processor. 748 749 @item task processor affinity 750 The set of processors on which a task is allowed to execute. 678 751 679 752 @item task switch … … 684 757 @item TCB 685 758 An acronym for Task Control Block. 759 760 @item thread dispatch 761 The @dfn{thread dispatch} transfers control of the processor from the currently 762 executing thread to the heir thread of the processor. 686 763 687 764 @item tick -
doc/user/smp.t
rd9196d1d r29e6637e 29 29 @c 30 30 @section Background 31 32 @subsection Glossary33 34 @table @dfn35 36 @item scheduler37 38 A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a39 subset of its set of ready tasks. So it manages access to the processor40 resource. Various algorithms exist to choose the tasks allowed to use a41 processor out of the set of ready tasks. One method is to assign each task a42 priority number and assign the tasks with the lowest priority number to one43 processor of the set of processors owned by a scheduler instance.44 45 @item scheduler instance46 47 A @dfn{scheduler instance} is a scheduling algorithm with a corresponding48 context to store its internal state. Each processor in the system is owned by49 at most one scheduler instance. The processor to scheduler instance assignment50 is determined at application configuration time. @xref{Configuring a System51 Configuring Clustered/Partitioned Schedulers}.52 53 @item cluster54 55 We have clustered scheduling in case the set of processors of a system is56 partitioned into non-empty pairwise disjoint subsets. These subsets are called57 @dfn{clusters}. Each cluster is owned by exactly one scheduler instance.58 59 @item partition60 61 Clusters with a cardinality of one are @dfn{partitions}.62 63 @item task64 65 A @dfn{task} or @dfn{thread} is a context which can execute on a processor. It66 consists normally of a set of registers and a stack. The terms @dfn{task} and67 @dfn{thread} are synonym in RTEMS68 69 @item task processor affinity70 71 The set of processors on which a task is allowed to execute.72 73 @item task migration74 75 @dfn{Task migration} happens in case a task stops execution on one processor76 and resumes execution on another processor.77 78 @item blocked task79 80 A task is @dfn{blocked} if it is not allowed to execute. There are several81 reasons why a task is blocked, for example82 83 @itemize @bullet84 85 @item it has to wait for a resource, currently owned by another task,86 87 @item some time must elapse, for example the next period start or some time88 out,89 90 @item it is explicitly suspended, or91 92 @item it is not yet started.93 94 @end itemize95 96 Blocked tasks are not an element of the set of ready tasks of a scheduler97 instance.98 99 @item ready task100 101 A task is @dfn{ready} if it is allowed to execute, but has no processor102 assigned. The scheduler decided that other tasks are currently more important.103 104 @item scheduled task105 106 A task is @dfn{scheduled} if it is allowed to execute and has a processor107 assigned. Such a task executes currently on a processor or is about to start108 execution. A task about to start execution it is an heir task on exactly one109 processor in the system.110 111 @item in the air task112 113 A task is @dfn{in the air} if it is in a transient state and has a processor114 assigned. The next scheduler operation will turn it into a blocked, ready or115 scheduled task.116 117 @item atomic operations118 119 Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}.120 121 @item SMP locks122 123 The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a124 replacement for the sections of disabled interrupts. Interrupts are usually125 disabled while holding an SMP lock. They are implemented using atomic126 operations. Currently a ticket lock is used in RTEMS.127 128 @item SMP barriers129 130 The @dfn{SMP locks} ensure that a set of processors reaches a common131 synchronization point in time. They are implemented using atomic operations.132 Currently a sense barrier is used in RTEMS.133 134 @item Giant lock135 136 The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the137 operating system state. Virtually every operating system service must acquire138 and release the Giant lock during its operation.139 140 @end table141 31 142 32 @subsection Uniprocessor versus SMP Parallelism
Note: See TracChangeset
for help on using the changeset viewer.