English Dictionary: semaphore | by the DICT Development Group |
3 results for semaphore | |
From WordNet (r) 3.0 (2006) [wn]: | |
| |
From Webster's Revised Unabridged Dictionary (1913) [web1913]: | |
Semaphore \Sem"a*phore\, n. [Gr. sh^ma a sign + fe`rein to bear: cf. F. s[82]maphore.] A signal telegraph; an apparatus for giving signals by the disposition of lanterns, flags, oscillating arms, etc. | |
From The Free On-line Dictionary of Computing (15Feb98) [foldoc]: | |
semaphore 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-wait}s (or maybe {sleep}s) 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-wait}ing, 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) |