race condition
Anomalous b ehavior du e to un exp ect ed critical d ep end enc e on th e r elativ e timing of ev ents. For exampl e, if on e proc ess writ es to a fil e whil e anoth er is r eading from th e sam e location th en th e data r ead may b e th e old cont ents, th e n ew cont ents or som e mixtur e of th e two d ep ending on th e r elativ e timing of th e r ead and writ e op erations. A common r em edy in this kind of rac e condition is {fil e locking} a mor e cumb ersom e r em edy is to r eorganiz e th e syst em such that a c ertain proc ess es (running a ef="module.php?name=Lexikon&file=search&eid=1&query=daemon">daemon or th e lik e) is th e only proc ess that has acc ess to th e fil e, and all oth er proc ess es that n eed to acc ess th e data in that fil e do so only via int erproc ess communication with that on e proc ess. As an exampl e of a mor e subtl e kind of rac e condition, consid er a ef="module.php?name=Lexikon&file=search&eid=1&query=distributed">distributed ef="module.php?name=Lexikon&file=search&eid=1&query=chat">chat ef="module.php?name=Lexikon&file=search&eid=1&query=network">network lik e ef="module.php?name=Lexikon&file=search&eid=1&query=IRC">IRC, wh er e a ef="module.php?name=Lexikon&file=search&eid=1&query=user">user is grant ed chann el-op erator ef="module.php?name=Lexikon&file=search&eid=1&query=privileges">privileges in any chann el h e starts. If two us ers on diff er ent ef="module.php?name=Lexikon&file=search&eid=1&query=servers">servers, on diff er ent ends of th e sam e n etwork, try to start th e sam e-nam ed chann el at th e sam e tim e, each us er' s r esp ectiv e s erv er will grant chann el-op erator privil eg es to each us er, sinc e n eith er will y et hav e r ec eiv ed th e oth er' s signal that that chann el has b een start ed. In this cas e of a rac e condition, th e "shar ed r esourc e" is th e conc eption of th e ef="module.php?name=Lexikon&file=search&eid=1&query=state">state of th e n etwork (what chann els exist, as w ell as what us ers start ed th em and th er efor e hav e what privil eg es), which each s erv er is fr ee to chang e as long as it signals th e oth er s erv ers on th e n etwork about th e chang es so that th ey can updat e th eir conc eption of th e stat e of th e n etwork. How ev er, th e ef="module.php?name=Lexikon&file=search&eid=1&query=latency">latency across th e n etwork mak es possibl e th e kind of rac e condition d escrib ed. In this cas e, h eading off rac e conditions by imposing a form of control ov er acc ess to th e shar ed r esourc e -- say, appointing on e s erv er to b e in charg e of who holds what privil eg es -- would m ean turning th e distribut ed n etwork into a c entraliz ed on e (at l east for that on e part of th e n etwork op eration). Wh er e this is not acc eptabl e, th e mor e pragmatic solution is to hav e th e syst em r ecogniz e wh en a rac e condition has occurr ed and to r epair th e ill eff ects. Rac e conditions also aff ect el ectronic circuits wh er e th e valu e output by a ef="module.php?name=Lexikon&file=search&eid=1&query=logic gate">logic gate d ep ends on th e exact timing of two or mor e input signals. For exampl e, consid er a two input AND gat e f ed with a logic signal X on input A and its n egation, NOT X, on input B. In th eory, th e output (X AND NOT X) should n ev er b e high. How ev er, if chang es in th e valu e of X tak e long er to propagat e to input B than to input A th en wh en X chang es from fals e to tru e, th er e will b e a bri ef p eriod during which both inputs ar e tru e, and so th e gat e' s output will also b e tru e. If this output is f ed to an edg e-s ensitiv e compon ent such as a count er or flip-flop th en th e t emporary eff ect (" ef="module.php?name=Lexikon&file=search&eid=1&query=glitch">glitch") will b ecom e p erman ent. (2002-08-03) e="border-width:thin; border-color:#333333; border-style:dashed; padding:5px;" align="left">In addition suitable contents: [ ef="module.php?name=Lexikon&op=content&tid=31">2 ] [ ef="module.php?name=Lexikon&op=content&tid=134">= ] [ ef="module.php?name=Lexikon&op=content&tid=195">accept ] [ ef="module.php?name=Lexikon&op=content&tid=262">ad ] [ ef="module.php?name=Lexikon&op=content&tid=374">ae ] [ ef="module.php?name=Lexikon&op=content&tid=383">af ] [ ef="module.php?name=Lexikon&op=content&tid=396">ag ] [ ef="module.php?name=Lexikon&op=content&tid=411">ai ] [ ef="module.php?name=Lexikon&op=content&tid=433">al ] [ ef="module.php?name=Lexikon&op=content&tid=544">am ] [ ef="module.php?name=Lexikon&op=content&tid=592">an ] [ ef="module.php?name=Lexikon&op=content&tid=603">AND ] [ ef="module.php?name=Lexikon&op=content&tid=683">app ] [ ef="module.php?name=Lexikon&op=content&tid=740">ar ] [ ef="module.php?name=Lexikon&op=content&tid=743">arc ] [ ef="module.php?name=Lexikon&op=content&tid=759">arg ] [ ef="module.php?name=Lexikon&op=content&tid=800">as ] [ ef="module.php?name=Lexikon&op=content&tid=894">at ] [ ef="module.php?name=Lexikon&op=content&tid=996">av ] [ ef="module.php?name=Lexikon&op=content&tid=1025">B ] [ ef="module.php?name=Lexikon&op=content&tid=1026">b ] [ ef="module.php?name=Lexikon&op=content&tid=1181">be ] [ ef="module.php?name=Lexikon&op=content&tid=1444">bo ] [ ef="module.php?name=Lexikon&op=content&tid=1501">bot ] [ ef="module.php?name=Lexikon&op=content&tid=1535">br ] [ ef="module.php?name=Lexikon&op=content&tid=1624">bt ] [ ef="module.php?name=Lexikon&op=content&tid=1695">by ] [ ef="module.php?name=Lexikon&op=content&tid=1708">C ] [ ef="module.php?name=Lexikon&op=content&tid=1724">ca ] [ ef="module.php?name=Lexikon&op=content&tid=1844">case ] [ ef="module.php?name=Lexikon&op=content&tid=1863">cat ] [ ef="module.php?name=Lexikon&op=content&tid=1896">cc ] [ ef="module.php?name=Lexikon&op=content&tid=2001">ch ] [ ef="module.php?name=Lexikon&op=content&tid=2010">channel ] [ ef="module.php?name=Lexikon&op=content&tid=2018">char ] [ ef="module.php?name=Lexikon&op=content&tid=2099">ci ] [ ef="module.php?name=Lexikon&op=content&tid=2121">circuit ] [ ef="module.php?name=Lexikon&op=content&tid=2136">ck ] [ ef="module.php?name=Lexikon&op=content&tid=2247">co ] [ ef="module.php?name=Lexikon&op=content&tid=2330">com ] [ ef="module.php?name=Lexikon&op=content&tid=2457">component ] [ ef="module.php?name=Lexikon&op=content&tid=2545">con ] [ ef="module.php?name=Lexikon&op=content&tid=2606">cons ] [ ef="module.php?name=Lexikon&op=content&tid=2656">control ] [ ef="module.php?name=Lexikon&op=content&tid=2791">cr ] [ ef="module.php?name=Lexikon&op=content&tid=2900">cu ] [ ef="module.php?name=Lexikon&op=content&tid=2941">cy ] [ ef="module.php?name=Lexikon&op=content&tid=2976">D ] [ ef="module.php?name=Lexikon&op=content&tid=2984">daemon ] [ ef="module.php?name=Lexikon&op=content&tid=3006">data ] [ ef="module.php?name=Lexikon&op=content&tid=3096">date ] [ ef="module.php?name=Lexikon&op=content&tid=3151">de ] [ ef="module.php?name=Lexikon&op=content&tid=3371">diff ] [ ef="module.php?name=Lexikon&op=content&tid=3436">ding ] [ ef="module.php?name=Lexikon&op=content&tid=3565">do ] [ ef="module.php?name=Lexikon&op=content&tid=3752">du ] [ ef="module.php?name=Lexikon&op=content&tid=3865">ec ] [ ef="module.php?name=Lexikon&op=content&tid=3896">ed ] [ ef="module.php?name=Lexikon&op=content&tid=3929">ee ] [ ef="module.php?name=Lexikon&op=content&tid=3946">eg ] [ ef="module.php?name=Lexikon&op=content&tid=3953">eh ] [ ef="module.php?name=Lexikon&op=content&tid=3986">electron ] [ ef="module.php?name=Lexikon&op=content&tid=4148">er ] [ ef="module.php?name=Lexikon&op=content&tid=4150">era ] [ ef="module.php?name=Lexikon&op=content&tid=4171">es ] [ ef="module.php?name=Lexikon&op=content&tid=4199">et ] [ ef="module.php?name=Lexikon&op=content&tid=4250">event ] [ ef="module.php?name=Lexikon&op=content&tid=4301">expect ] [ ef="module.php?name=Lexikon&op=content&tid=4497">fi ] [ ef="module.php?name=Lexikon&op=content&tid=4520">file ] [ ef="module.php?name=Lexikon&op=content&tid=4651">flip-flop ] [ ef="module.php?name=Lexikon&op=content&tid=4700">fo ] [ ef="module.php?name=Lexikon&op=content&tid=4727">for ] [ ef="module.php?name=Lexikon&op=content&tid=4828">fr ] [ ef="module.php?name=Lexikon&op=content&tid=4859">free ] [ ef="module.php?name=Lexikon&op=content&tid=4989">ga ] [ ef="module.php?name=Lexikon&op=content&tid=5026">gate ] [ ef="module.php?name=Lexikon&op=content&tid=5057">ge ] [ ef="module.php?name=Lexikon&op=content&tid=5134">gh ] [ ef="module.php?name=Lexikon&op=content&tid=5141">gi ] [ ef="module.php?name=Lexikon&op=content&tid=5171">gl ] [ ef="module.php?name=Lexikon&op=content&tid=5184">glitch ] [ ef="module.php?name=Lexikon&op=content&tid=5200">gm ] [ ef="module.php?name=Lexikon&op=content&tid=5205">gn ] [ ef="module.php?name=Lexikon&op=content&tid=5291">gr ] [ ef="module.php?name=Lexikon&op=content&tid=5434">h ] [ ef="module.php?name=Lexikon&op=content&tid=5493">hang ] [ ef="module.php?name=Lexikon&op=content&tid=5540">hat ] [ ef="module.php?name=Lexikon&op=content&tid=5768">hr ] [ ef="module.php?name=Lexikon&op=content&tid=5931">id ] [ ef="module.php?name=Lexikon&op=content&tid=5956">ie ] [ ef="module.php?name=Lexikon&op=content&tid=5986">iff ] [ ef="module.php?name=Lexikon&op=content&tid=6013">il ] [ ef="module.php?name=Lexikon&op=content&tid=6064">in ] [ ef="module.php?name=Lexikon&op=content&tid=6068">inc ] [ ef="module.php?name=Lexikon&op=content&tid=6165">input ] [ ef="module.php?name=Lexikon&op=content&tid=6194">int ] [ ef="module.php?name=Lexikon&op=content&tid=6413">io ] [ ef="module.php?name=Lexikon&op=content&tid=6448">IR ] [ ef="module.php?name=Lexikon&op=content&tid=6449">ir ] [ ef="module.php?name=Lexikon&op=content&tid=6451">IRC ] [ ef="module.php?name=Lexikon&op=content&tid=6482">is ] [ ef="module.php?name=Lexikon&op=content&tid=6558">it ] [ ef="module.php?name=Lexikon&op=content&tid=6789">ke ] [ ef="module.php?name=Lexikon&op=content&tid=6822">ki ] [ ef="module.php?name=Lexikon&op=content&tid=6918">la ] [ ef="module.php?name=Lexikon&op=content&tid=6988">latency ] [ ef="module.php?name=Lexikon&op=content&tid=7023">ld ] [ ef="module.php?name=Lexikon&op=content&tid=7091">Lex ] [ ef="module.php?name=Lexikon&op=content&tid=7107">li ] [ ef="module.php?name=Lexikon&op=content&tid=7281">location ] [ ef="module.php?name=Lexikon&op=content&tid=7309">logic gate ] [ ef="module.php?name=Lexikon&op=content&tid=7399">ls ] [ ef="module.php?name=Lexikon&op=content&tid=7415">lu ] [ ef="module.php?name=Lexikon&op=content&tid=7441">ly ] [ ef="module.php?name=Lexikon&op=content&tid=7463">ma ] [ ef="module.php?name=Lexikon&op=content&tid=7582">man ] [ ef="module.php?name=Lexikon&op=content&tid=8019">mm ] [ ef="module.php?name=Lexikon&op=content&tid=8032">mo ] [ ef="module.php?name=Lexikon&op=content&tid=8040">mod ] [ ef="module.php?name=Lexikon&op=content&tid=8079">module ] [ ef="module.php?name=Lexikon&op=content&tid=8167">mp ] [ ef="module.php?name=Lexikon&op=content&tid=8258">mu ] [ ef="module.php?name=Lexikon&op=content&tid=8384">N ] [ ef="module.php?name=Lexikon&op=content&tid=8386">na ] [ ef="module.php?name=Lexikon&op=content&tid=8397">named ] [ ef="module.php?name=Lexikon&op=content&tid=8460">nc ] [ ef="module.php?name=Lexikon&op=content&tid=8468">ND ] [ ef="module.php?name=Lexikon&op=content&tid=8472">ne ] [ ef="module.php?name=Lexikon&op=content&tid=8488">net ] [ ef="module.php?name=Lexikon&op=content&tid=8533">network ] [ ef="module.php?name=Lexikon&op=content&tid=8627">ng ] [ ef="module.php?name=Lexikon&op=content&tid=8630">ni ] [ ef="module.php?name=Lexikon&op=content&tid=8660">nl ] [ ef="module.php?name=Lexikon&op=content&tid=8672">nn ] [ ef="module.php?name=Lexikon&op=content&tid=8675">no ] [ ef="module.php?name=Lexikon&op=content&tid=8728">NOT ] [ ef="module.php?name=Lexikon&op=content&tid=8745">np ] [ ef="module.php?name=Lexikon&op=content&tid=8760">ns ] [ ef="module.php?name=Lexikon&op=content&tid=8820">O ] [ ef="module.php?name=Lexikon&op=content&tid=8964">om ] [ ef="module.php?name=Lexikon&op=content&tid=9014">op ] [ ef="module.php?name=Lexikon&op=content&tid=9071">operator ] [ ef="module.php?name=Lexikon&op=content&tid=9120">org ] [ ef="module.php?name=Lexikon&op=content&tid=9160">OT ] [ ef="module.php?name=Lexikon&op=content&tid=9176">output ] [ ef="module.php?name=Lexikon&op=content&tid=9204">pa ] [ ef="module.php?name=Lexikon&op=content&tid=9457">pe ] [ ef="module.php?name=Lexikon&op=content&tid=9550">ph ] [ ef="module.php?name=Lexikon&op=content&tid=9651">pl ] [ ef="module.php?name=Lexikon&op=content&tid=9762">point ] [ ef="module.php?name=Lexikon&op=content&tid=9908">pr ] [ ef="module.php?name=Lexikon&op=content&tid=9911">pragma ] [ ef="module.php?name=Lexikon&op=content&tid=9995">process ] [ ef="module.php?name=Lexikon&op=content&tid=10144">pt ] [ ef="module.php?name=Lexikon&op=content&tid=10253">query ] [ ef="module.php?name=Lexikon&op=content&tid=10364">rc ] [ ef="module.php?name=Lexikon&op=content&tid=10385">re ] [ ef="module.php?name=Lexikon&op=content&tid=10767">ro ] [ ef="module.php?name=Lexikon&op=content&tid=10887">ru ] [ ef="module.php?name=Lexikon&op=content&tid=10892">run ] [ ef="module.php?name=Lexikon&op=content&tid=10922">sa ] [ ef="module.php?name=Lexikon&op=content&tid=10959">sam ] [ ef="module.php?name=Lexikon&op=content&tid=10999">say ] [ ef="module.php?name=Lexikon&op=content&tid=11010">sc ] [ ef="module.php?name=Lexikon&op=content&tid=11150">se ] [ ef="module.php?name=Lexikon&op=content&tid=11259">serve ] [ ef="module.php?name=Lexikon&op=content&tid=11261">server ] [ ef="module.php?name=Lexikon&op=content&tid=11266">servers ] [ ef="module.php?name=Lexikon&op=content&tid=11314">sh ] [ ef="module.php?name=Lexikon&op=content&tid=11324">shar ] [ ef="module.php?name=Lexikon&op=content&tid=11376">si ] [ ef="module.php?name=Lexikon&op=content&tid=11389">sig ] [ ef="module.php?name=Lexikon&op=content&tid=11396">signal ] [ ef="module.php?name=Lexikon&op=content&tid=11506">sit ] [ ef="module.php?name=Lexikon&op=content&tid=11651">so ] [ ef="module.php?name=Lexikon&op=content&tid=11725">solution ] [ ef="module.php?name=Lexikon&op=content&tid=11745">source ] [ ef="module.php?name=Lexikon&op=content&tid=11790">spec ] [ ef="module.php?name=Lexikon&op=content&tid=11934">st ] [ ef="module.php?name=Lexikon&op=content&tid=11990">state ] [ ef="module.php?name=Lexikon&op=content&tid=12133">su ] [ ef="module.php?name=Lexikon&op=content&tid=12246">sy ] [ ef="module.php?name=Lexikon&op=content&tid=12312">system ] [ ef="module.php?name=Lexikon&op=content&tid=12359">T ] [ ef="module.php?name=Lexikon&op=content&tid=12369">table ] [ ef="module.php?name=Lexikon&op=content&tid=12416">tar ] [ ef="module.php?name=Lexikon&op=content&tid=12440">tc ] [ ef="module.php?name=Lexikon&op=content&tid=12588">th ] [ ef="module.php?name=Lexikon&op=content&tid=12602">theory ] [ ef="module.php?name=Lexikon&op=content&tid=12721">to ] [ ef="module.php?name=Lexikon&op=content&tid=12777">tp ] [ ef="module.php?name=Lexikon&op=content&tid=12787">tr ] [ ef="module.php?name=Lexikon&op=content&tid=12873">tron ] [ ef="module.php?name=Lexikon&op=content&tid=12939">tw ] [ ef="module.php?name=Lexikon&op=content&tid=13030">um ] [ ef="module.php?name=Lexikon&op=content&tid=13146">up ] [ ef="module.php?name=Lexikon&op=content&tid=13175">us ] [ ef="module.php?name=Lexikon&op=content&tid=13188">user ] [ ef="module.php?name=Lexikon&op=content&tid=13252">va ] [ ef="module.php?name=Lexikon&op=content&tid=13260">value ] [ ef="module.php?name=Lexikon&op=content&tid=13310">ve ] [ ef="module.php?name=Lexikon&op=content&tid=13366">vi ] [ ef="module.php?name=Lexikon&op=content&tid=13694">while ] [ ef="module.php?name=Lexikon&op=content&tid=13864">write ] [ ef="module.php?name=Lexikon&op=content&tid=13891">X ] [ ef="module.php?name=Lexikon&op=content&tid=14042">ye ]
[ Go Back ]
Free On-line Dictionary of Computing Copyright © by OnlineWoerterBuecher.de - (12332 Reads) |