From 29e6637eb1802da89de25778f597bdf0d66a3867 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 5 May 2014 21:55:13 +0200 Subject: doc: Move SMP glossary to global glossary Add some terms. --- doc/user/smp.t | 110 --------------------------------------------------------- 1 file changed, 110 deletions(-) (limited to 'doc/user/smp.t') diff --git a/doc/user/smp.t b/doc/user/smp.t index 0751abae44..1844315017 100644 --- a/doc/user/smp.t +++ b/doc/user/smp.t @@ -29,116 +29,6 @@ The application level services currently provided are: @c @section Background -@subsection Glossary - -@table @dfn - -@item 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. - -@item 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. @xref{Configuring a System -Configuring Clustered/Partitioned Schedulers}. - -@item 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}. Each cluster is owned by exactly one scheduler instance. - -@item partition - -Clusters with a cardinality of one are @dfn{partitions}. - -@item task - -A @dfn{task} or @dfn{thread} is a context which can execute on a processor. It -consists normally of a set of registers and a stack. The terms @dfn{task} and -@dfn{thread} are synonym in RTEMS - -@item task processor affinity - -The set of processors on which a task is allowed to execute. - -@item task migration - -@dfn{Task migration} happens in case a task stops execution on one processor -and resumes execution on another processor. - -@item blocked task - -A task is @dfn{blocked} if it is not allowed to execute. There are several -reasons why a task is blocked, for example - -@itemize @bullet - -@item it has to wait for a resource, currently owned by another task, - -@item some time must elapse, for example the next period start or some time -out, - -@item it is explicitly suspended, or - -@item it is not yet started. - -@end itemize - -Blocked tasks are not an element of the set of ready tasks of a scheduler -instance. - -@item ready task - -A task is @dfn{ready} if it is allowed to execute, but has no processor -assigned. The scheduler decided that other tasks are currently more important. - -@item 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. - -@item in the air task - -A task is @dfn{in the air} if it is in a transient state and has a processor -assigned. The next scheduler operation will turn it into a blocked, ready or -scheduled task. - -@item atomic operations - -Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}. - -@item 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. - -@item SMP barriers - -The @dfn{SMP locks} ensure that 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. - -@item 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. - -@end table - @subsection Uniprocessor versus SMP Parallelism Uniprocessor systems have long been used in embedded systems. In this hardware -- cgit v1.2.3