semaphore

Noun · Verb

Open English WordNet

Noun (1)

  1. an apparatus for visual signaling with lights or mechanically moving armsType of apparatus, setup

Verb (2)

  1. send signals by or as if by semaphoreMore general sign, signal
  2. convey by semaphore, of informationMore general communicate, intercommunicate
Word of the day · Sep 28About this word
onerousadjective

What does it mean? Question 1 of today’s quiz

Advertisement

Webster's Dictionary (1913)

Sem′a·phore noun

Origin: Gr. σῆμα a sign + φέρειν to bear: cf. F. sémaphore.

A signal telegraph; an apparatus for giving signals by the disposition of lanterns, flags, oscillating arms, etc.

Webster’s Revised Unabridged Dictionary (1913), from GCIDE 0.54

Free On-line Dictionary of Computing

semaphore

<programming, operating system> 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:

P(s) Semaphore s; while (s == 0) ; /* wait until s>0 */ s = s-1;

V(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.

(1995-02-01)

Advertisement