Glossary

Glossary

Browsing

Home:
Concurrent Programming with Fair Threads
The LOFT Language

Previous chapter:
Next chapter:

Sections


Chapters

1. Introduction
2. The Language LOFT
3. Examples - 1
4. Programming Style
5. Semantics
6. FairThreads in C
7. Implementations
8. Examples - 2
9. Related Work
10. Conclusion
11. Annex A: API of FairThreads
12. Annex B: LOFT Reference Manual
13. Annex C: the LOFT Compiler
  Glossary
  Index

Atomic Instruction

An atomic instruction runs in one shot and completes in the same very instant it starts to execute.

Broadcasting

Events are broadcast: all threads linked to the scheduler that manages an event see the presence/absence of it exactly in the same way.

Context Switch

The 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/O

An input/output operation which does not block the others threads until it terminates.

Cooperative Scheduling

The strategy of a scheduler in which all thread are supposed to friendly leave the control after a certain time.

Deadlock

A situation where two or more threads are blocked, each one owning a lock needed by another one to proceed.

Event

Events 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.

Finalizer

The 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.

Instant

In one instant, a scheduler let all the threads linked to it execute until they cooperate.

Instantaneous Loop

A loop which cyclically executes its body during one single instant, and which thus does not cooperate with the others threads.

Kernel Thread

Kernel 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 Thread

A cooperative thread which is linked to a scheduler, and which, thus, executes at the pace defined by the scheduler.

Lock

A way to restrict accesses to a data: a thread that wants to access a locked data blocks until the data is unlocked.

Modules

Modules are templates from which instances, called threads, are constructed.

Multiprocessing

The use of several processors.

Native Module

Native modules are modules whose instances must be implemented by kernel threads.

Native Thread

Native threads are instances of native modules. They are implemented as kernel threads.

Non-atomic Instruction

Execution of a non-atomic instruction can take several instants to complete.

Preemptive OS

An 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 Scheduling

The strategy of a scheduler having the ability to force a running thread to leave the control, in order to give it to another thread.

Scheduler

Schedulers are controling threads linked to them in a cooperative and fair way.

Synchronized Area

A set of threads, all linked to the same scheduler and thus running synchronously at the same pace and sharing the same broadcast events.

SMP

Stands 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.

Thread

Threads are the basic units of concurrency in the language. They are instances of modules.

Unlinked Thread

A 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.

This page has been generated by Scribe.
Last update Wed Oct 22 18:41:04 2003