Tudd Intuíció, előadás holtpontok

Abstract: Az előadás foglalkozik a holtpontok, stalemates és „lefagy” a rendszert

Egy korábbi fejezetben megnéztük módon szinkronizálni folyamatokat, amelyek lehetővé teszik folyamatok sikeres együttműködésre. Azonban előre nem látható nehézségek merülhetnek fel bizonyos esetekben. Tegyük fel, hogy több folyamat verseng a birtokában véges számú források. Ha a kért folyamat erőforrás nem áll rendelkezésre, az operációs rendszer veszi ezt a folyamatot várakozási állapotba. Abban az esetben, ha a kért erőforrás másik által tartott várakozó folyamat, az első művelet nem lesz képes megváltoztatni azok állapotát. Ezt a helyzetet nevezzük a holtpont (holtpont). Azt mondják, hogy egy többszörös programozásról rendszerben, a folyamat zsákutcába állapotban. ha ez vár olyan esemény, amely soha nem fog megtörténni. Rendszer holtpont. vagy „rendszer lefagy” az a következménye, hogy egy vagy több folyamat állapotban vannak a holtpont. Néha ezek a helyzetek nevezzük összekötése. Általában, a probléma a holtpontok hatékony megoldást nem.

Vegyünk egy példát. Tegyük fel, hogy két folyamat a kimenetre egy nyomtatóhoz szalagot. Egyikük sikerült kisajátítani a szalagot, és úgy, mintha egy nyomtatót, és fordítva. Ezt követően, mindkét folyamat blokkolva várakozás a második erőforrás (lásd. Ábra. 7.1).


Ábra. 7.1. példa holtponton

Definíció. Eljárások sorozata van a holtpont. ha minden a több folyamat vár egy eseményre, amely okozhat egy másik folyamat csak ezt meg. Mivel minden folyamat valami várható, egyikük nem lesz képes kezdeményezni olyan esemény, amely felébreszti a másik tag a készlet, és ezért az összes folyamat alszanak együtt.

Fent egy példa a holtpont. találkozás használata közben az úgynevezett dedikált eszközök. Holtpontok. Azonban akkor is előfordulhat, más helyzetekben. Haprimer adatbázisban bejegyzések lokalizálható folyamatirányító rendszerek, hogy elkerüljék a verseny állapota (lásd. Lecture 5 „szinkronizáló algoritmusai”). Ebben az esetben előfordulhat, hogy az egyik folyamat blokkolt hitelesítő szükséges egy másik folyamat, és fordítva. Így holtpontok is előfordulhat mind a hardver és szoftver erőforrások.

Holtpontok is okozott programozási hibák. Például, a folyamat hiába vár a nyitás a szemafor, mert helytelenül írt kérelmet, hogy ezt a műveletet elfelejteni. A másik oka a szüntelen várakozás lehet diszkriminatív politikát, amelyek bizonyos folyamatokat. Azonban a legtöbb esemény, mely várja a folyamat zsákutcába. - a kibocsátás a forrás. így a jövőben lesz szó módszerekkel foglalkozó holtpontok erőforrás típus.

Erőforrások lehetnek eszközt, és adatokat. Hekotorye források lehetővé teszik szétválasztását folyamatok, azaz közös erőforrás. Például, a memória. processzor. meghajtók együttesen használt folyamatok. Mások nem teszik lehetővé a szétválasztás, azaz ki vannak jelölve. A szalagos meghajtó például. A patthelyzet használatából eredő mind dedikált és megosztott erőforrásokat. Például, az olvasás a megosztott lemez végezhető egyszerre több folyamat, míg a felvétel kizárólagos hozzáférésre van szüksége az adatok a lemezen. Abból lehet kiindulni, hogy része a lemez, ahol a felvétel zajlik. kiosztott különleges eljárásra. Ezért feltételezzük, hogy a holtpont társított dedikált erőforrásokat. azaz holtpontok fordul elő, amikor a folyamat kizárólagos hozzáférést eszközök, fájlok és egyéb források.

A hagyományos események sorrendje, ha dolgozik az erőforrás áll egy lekérdezést, felhasználásának és kibocsátásának a forrást. a kérés fajtája természetétől függ a forrás és az operációs rendszer. A kérelem kifejezett érték is lehet, például egy különleges kihívást kérelmet, vagy burkoltan - nyitott, hogy nyissa meg a fájlt. Általában, ha az erőforrás foglalt, és a kérelem elutasításának a kérelmező folyamat várakozó állapotba áll be.

Később ebben a fejezetben kell tekinteni felderítésére, megelőzésére, megkerülni holtpontok holtpontok és a helyreállítást. Általános szabály, hogy a terrorizmus elleni zsákutcák - egy nagyon drága esemény. Mindazonáltal számos rendszerek, mint például a valós idejű rendszerek, nincs más alternatíva.

Feltételei előfordulása holtpontok

Feltételei az előfordulása holtpontok fogalmazódtak Koffmanom, Elphick és Shoshani 1970

  1. Feltételek mutex (kölcsönös kizárás). Ugyanakkor felhasználása a forrás csak egyetlen folyamat.
  2. Feltétel készenléti erőforrások (Hold és várjon). Folyamatok tartsa források. Már a számukra elkülönített és kérheti más források.
  3. Feltétel nepereraspredelyaemosti (No preemtion). Erőforrás. már rámutattunk, nem lehet erőszakkal elvették a folyamatot. Megjelent, hogy csak akkor tudnak olyan folyamat, amely tartja őket.
  4. Az az állapot, körkörös várakozások (körkörös várakozás). Van egy kör alakú lánc folyamatok, ahol minden egyes eljárás vár hozzáférést az erőforrás. által tartott másik lánc folyamat.

A formáció a zsákutcából szükséges és elégséges, hogy minden a négy feltételt.

Jellemzően a holtpont ciklusban modellezi egy grafikon, amely kétféle csomópont: téglalap - folyamatok és az ellipszis - források. mint például az ábrán látható. 7.1. A nyíl az erőforrás a folyamat, azt mutatják, hogy az erőforrást a folyamatot. A nyíl a folyamat az erőforráshoz. azt jelenti, hogy a folyamat a kérő forrás.

A fő irányok elleni harc zsákutcák

lunda probléma kezdeményezett sok érdekes kutatás területén a számítástechnika. Nyilvánvaló, hogy a szokásos ciklikus elvárások eltér a többitől. Az első három szempontból alkotják a szabályokat, amelyek léteznek a rendszerben, míg a negyedik feltétel egy olyan helyzetet, amely akkor keletkezik, ha egy bizonyos nemkívánatos esemény sorozat. Ezért módszer, hogy megakadályozzák a holtpont koncentrálunk megsértése az első három feltétel bevezetésével bizonyos korlátozásokat a viselkedése az eljárásokat és módszereket erőforrások elosztása. Módszerek felderítése és megszüntetése kevésbé konzervatív, és csökkenti a keresés, és megtörni a ciklus tétlen forrásokat.

Így a fő irányok elleni harc zsákutcák:

  • Figyelmen kívül hagyva a probléma egészét
  • megelőzése holtpontok
  • felderítése holtpontok
  • Felépülés holtpont

Figyelmen kívül hagyva a problémát a holtpontok

A legegyszerűbb - figyelmen kívül hagyja a probléma a holtpontok. Annak érdekében, hogy egy ilyen döntés, szükséges, hogy értékelje a valószínűsége patthelyzet, és hasonlítsa össze a valószínűsége kár más hibák hardver és szoftver. A tervezők általában nem hajlandó feláldozni a rendszer teljesítményét és a felhasználóbarát végrehajtására vonatkozó bonyolult és drága elleni küzdelem eszközeként a zsákutcából.

Bármely operációs rendszer, amely a mag számos tömbök rögzített méretét, esetleg szenvednek holtpontok. akkor is, ha nem található. Fájl megnyitása asztal, eljárás asztalra. sőt, minden asztalnál korlátozott források. Kitöltése az összes rekordot a folyamat táblázat vezethet az a tény, hogy a következő létrehozására irányuló kérelmet az eljárás lehet tagadni. Kedvezőtlen körülmények között több folyamat adhat ki ilyen kérelmet egyidejűleg lehet egy zsákutcába. Ha nem vagyunk hajlandók, hogy hívja CreateProcess megoldani ezt a problémát?

Megközelítés a legnépszerűbb operációs rendszerek (Unix, Windows, és mások.) Az, hogy figyelmen kívül hagyják a problémát az a feltételezés, hogy nem valószínű a véletlen holtpont helyett nevetséges szabályok kényszeríti a felhasználókat, hogy korlátozza az eljárások száma, a megnyitott fájlokat, és így tovább. N. szembesülve kellemetlen választás között szigor és a kényelem, nehéz megoldást találni, amely megfelel mindenkinek.

Kapcsolódó cikkek