OnlineWoerterBuecher.de
Internes

Lexikon


semaphore


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)

Style="border-width:thin; border-color:#333333; border-Style:daShed; padding:5px;" align="left">In addition Suitable contentS:
[ 2 ] [ = ] [ abStract data type ] [ ad ] [ af ] [ ag ] [ ai ] [ al ] [ am ] [ an ] [ ar ] [ arc ] [ aS ] [ at ] [ av ] [ b ] [ be ] [ bi ] [ binary ] [ bS ] [ buS ] [ buSy-wait ] [ by ] [ ca ] [ cc ] [ ch ] [ ci ] [ cl ] [ claSS ] [ claSSic ] [ cr ] [ cu ] [ D ] [ data ] [ data type ] [ dd ] [ de ] [ do ] [ du ] [ E ] [ ec ] [ ed ] [ ee ] [ environment ] [ er ] [ era ] [ eS ] [ et ] [ exec ] [ execution ] [ fi ] [ FIFO ] [ file ] [ fo ] [ for ] [ fr ] [ free ] [ ga ] [ ge ] [ gen ] [ gr ] [ h ] [ hog ] [ hr ] [ id ] [ il ] [ in ] [ inc ] [ initialiSe ] [ inverSe ] [ io ] [ ir ] [ iron ] [ iS ] [ it ] [ ke ] [ ken ] [ la ] [ Lex ] [ li ] [ lt ] [ lu ] [ ly ] [ ma ] [ map ] [ method ] [ mm ] [ mo ] [ mod ] [ module ] [ mp ] [ mS ] [ mu ] [ na ] [ nc ] [ ne ] [ ng ] [ ni ] [ nl ] [ no ] [ nS ] [ nu ] [ O ] [ op ] [ operating SyStem ] [ pe ] [ ph ] [ pl ] [ ply ] [ pr ] [ Probe ] [ proceSS ] [ proceSSing ] [ program ] [ programming ] [ query ] [ queS ] [ queue ] [ rc ] [ re ] [ ro ] [ S ] [ Se ] [ Sh ] [ Shar ] [ Si ] [ Sk ] [ Sl ] [ Sleep ] [ So ] [ Source ] [ St ] [ Storage ] [ Strict ] [ Su ] [ Sum ] [ Sy ] [ SyStem ] [ T ] [ ] [ tc ] [ teSt ] [ th ] [ T.H.E ] [ to ] [ tr ] [ type ] [ ua ] [ um ] [ up ] [ uS ] [ V ] [ va ] [ value ] [ var ] [ variable ] [ ve ] [ vi ] [ while ] [ win ] [ zero ]






Go Back ]

Free On-line Dictionary of Computing

Copyright © by OnlineWoerterBuecher.de - (7316 Reads)

All logos and trademarks in this site are property of their respective owner.

Page Generation in 0.1023 Seconds, with 17 Database-Queries
Zurück zur Startseite