Hyper Dictionary

English Dictionary Computer Dictionary Video Dictionary Thesaurus Dream Dictionary Medical Dictionary

Search Dictionary:  

Meaning of SEMAPHORE

Pronunciation:  'semu`fowr

WordNet Dictionary
  1. [n]  an apparatus for visual signaling with lights or mechanically moving arms
  2. [v]  convey by semaphore, of information
  3. [v]  send signals by or as if by semaphore

SEMAPHORE is a 9 letter word that starts with S.


 See Also: apparatus, communicate, intercommunicate, setup, sign, signal, signalise, signalize



Webster's 1913 Dictionary
\Sem"a*phore\, n. [Gr. sh^ma a sign + fe`rein to bear:
cf. F. s['e]maphore.]
A signal telegraph; an apparatus for giving signals by the
disposition of lanterns, flags, oscillating arms, etc.

Computing Dictionary

The classic method for restricting access to shared resources (e.g. storage) in a multi-processing environment. They were invented by dijkstra and first used in t.h.e operating system.

A semaphore is a protected variable (or abstract data type) which can only be accessed using the following operations:

        Semaphore s;
        Semaphore s;
        s = s+1;
        Init(s, v)
        Semaphore s;
        Int v;
        s = v;

P and V stand for Dutch "Proberen", to test, and "Verhogen", to increment. The value of a semaphore is the number of units of the resource which are free (if there is only one resource a "binary semaphore" with values 0 or 1 is used). The P operation busy-waits (or maybe sleeps) until a resource is available whereupon it immediately claims one. V is the inverse, it simply makes a resource available again after the process has finished using it. Init is only used to initialise the semaphore before any requests are made. The P and V operations must be indivisible, i.e. no other process can access the semaphore during the their execution.

To avoid busy-waiting, a semaphore may have an associated queue of processes (usually a fifo). If a process does a P on a semaphore which is zero the process is added to the semaphore's queue. When another process increments the semaphore by doing a V and there are tasks on the queue, one is taken off and resumed.