Changeset d20b029 in rtems

Apr 16, 2014, 6:54:48 PM (5 years ago)
Sebastian Huber <sebastian.huber@…>
4.11, master
Sebastian Huber <sebastian.huber@…> (04/16/14 18:54:48)
Sebastian Huber <sebastian.huber@…> (05/05/14 06:26:27)

doc: Add SMP glossary

1 edited


  • doc/user/smp.t

    rbee71f8e rd20b029  
    3030@section Background
     32@subsection Glossary
     34@table @dfn
     36@item scheduler
     38A @dfn{scheduler} or @dfn{scheduling algorithm} allocates processors to a
     39subset of its set of ready tasks.  So it manages access to the processor
     40resource.  Various algorithms exist to choose the tasks allowed to use a
     41processor out of the set of ready tasks.  One method is to assign each task a
     42priority number and assign the tasks with the lowest priority number to one
     43processor of the set of processors owned by a scheduler instance.
     45@item scheduler instance
     47A @dfn{scheduler instance} is a scheduling algorithm with a corresponding
     48context to store its internal state.  Each processor in the system is owned by
     49at most one scheduler instance.  The processor to scheduler instance assignment
     50is determined at application configuration time.  @xref{Configuring a System
     51Configuring Clustered/Partitioned Schedulers}.
     53@item cluster
     55We have clustered scheduling in case the set of processors of a system is
     56partitioned into non-empty pairwise disjoint subsets.  These subsets are called
     57@dfn{clusters}.  Each cluster is owned by exactly one scheduler instance.
     59@item partition
     61Clusters with a cardinality of one are @dfn{partitions}.
     63@item task
     65A @dfn{task} or @dfn{thread} is a context which can execute on a processor.  It
     66consists normally of a set of registers and a stack.  The terms @dfn{task} and
     67@dfn{thread} are synonym in RTEMS
     69@item task processor affinity
     71The set of processors on which a task is allowed to execute.
     73@item task migration
     75@dfn{Task migration} happens in case a task stops execution on one processor
     76and resumes execution on another processor.
     78@item blocked task
     80A task is @dfn{blocked} if it is not allowed to execute.  There are several
     81reasons why a task is blocked, for example
     83@itemize @bullet
     85@item it has to wait for a resource, currently owned by another task,
     87@item some time must elapse, for example the next period start or some time
     90@item it is explicitly suspended, or
     92@item it is not yet started.
     94@end itemize
     96Blocked tasks are not an element of the set of ready tasks of a scheduler
     99@item ready task
     101A task is @dfn{ready} if it is allowed to execute, but has no processor
     102assigned.  The scheduler decided that other tasks are currently more important.
     104@item scheduled task
     106A task is @dfn{scheduled} if it is allowed to execute and has a processor
     107assigned.  Such a task executes currently on a processor or is about to start
     108execution.  A task about to start execution it is an heir task on exactly one
     109processor in the system.
     111@item in the air task
     113A task is @dfn{in the air} if it is in a transient state and has a processor
     114assigned.  The next scheduler operation will turn it into a blocked, ready or
     115scheduled task.
     117@item atomic operations
     119Atomic operations are defined in terms of @cite{ISO/IEC 9899:2011}.
     121@item SMP locks
     123The @dfn{SMP locks} ensure mutual exclusion on the lowest level and are a
     124replacement for the sections of disabled interrupts.  Interrupts are usually
     125disabled while holding an SMP lock.  They are implemented using atomic
     126operations.  Currently a ticket lock is used in RTEMS.
     128@item SMP barriers
     130The @dfn{SMP locks} ensure that a set of processors reaches a common
     131synchronization point in time.  They are implemented using atomic operations.
     132Currently a sense barrier is used in RTEMS.
     134@item Giant lock
     136The @dfn{Giant lock} is a recursive SMP lock protecting most parts of the
     137operating system state.  Virtually every operating system service must acquire
     138and release the Giant lock during its operation.
     140@end table
    32142@subsection Uniprocessor versus SMP Parallelism
Note: See TracChangeset for help on using the changeset viewer.