|
Atomic InstructionAn atomic instruction runs in one shot and completes in the same very instant it starts to execute.BroadcastingEvents are broadcast: all threads linked to the scheduler that manages an event see the presence/absence of it exactly in the same way.Context SwitchThe passage of the control from one thread to another one. The local data and the stack associated to the thread which is left have to be stored.Cooperative I/OAn input/output operation which does not block the others threads until it terminates.Cooperative SchedulingThe strategy of a scheduler in which all thread are supposed to friendly leave the control after a certain time.DeadlockA situation where two or more threads are blocked, each one owning a lock needed by another one to proceed.EventEvents are non-persistent data used by threads to synchronise and to communicate. Events are managed by schedulers and at each instant they are either present or absent.FinalizerThe finalizer of a thread is an atomic instruction which is executed (by an other thread) when the thread is stopped while it is not terminated.InstantIn one instant, a scheduler let all the threads linked to it execute until they cooperate.Instantaneous LoopA loop which cyclically executes its body during one single instant, and which thus does not cooperate with the others threads.Kernel ThreadKernel threads are the basic units of concurrency in standard preemptive OS. They are not always available, as for example in embedded systems with limited ressources.Linked ThreadA cooperative thread which is linked to a scheduler, and which, thus, executes at the pace defined by the scheduler.LockA way to restrict accesses to a data: a thread that wants to access a locked data blocks until the data is unlocked.ModulesModules are templates from which instances, called threads, are constructed.MultiprocessingThe use of several processors.Native ModuleNative modules are modules whose instances must be implemented by kernel threads.Native ThreadNative threads are instances of native modules. They are implemented as kernel threads.Non-atomic InstructionExecution of a non-atomic instruction can take several instants to complete.Preemptive OSAn operating system which has the ability to withdraw a processor to a thread or a process which is using it. Actually, all modern OS are preemptive.Preemptive SchedulingThe strategy of a scheduler having the ability to force a running thread to leave the control, in order to give it to another thread.SchedulerSchedulers are controling threads linked to them in a cooperative and fair way.Synchronized AreaA set of threads, all linked to the same scheduler and thus running synchronously at the same pace and sharing the same broadcast events.SMPStands for Symetric Multi-Processor. An architecture of a multi-processor machine in which the assignment of the processors to the threads is highly dynamic and depends on the operating system, and only of it.ThreadThreads are the basic units of concurrency in the language. They are instances of modules.Unlinked ThreadA thread instance of a native module which is not linked to any scheduler. Thus, an unlinked thread runs asynchronously. An unlinked thread is implemented as a kernel thread. |