Holtpont
![]() | Ez a szócikk a fizikai fogalomról szól. Hasonló címmel lásd még: Holtpont (egyértelműsítő lap). |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Process_deadlock.svg/220px-Process_deadlock.svg.png)
A holtpont egy rendszernek egy olyan állapota, ahonnan külső beavatkozás nélkül nem tud elmozdulni. Holtpont akkor fordulhat elő, amikor a folyamatok egy adott halmazában minden egyes elem leköt néhány erőforrást, és ugyanakkor várakozik is másokra. Ha ilyen esetben a folyamatok egy része olyan erőforrásra várakozik, amelyek mások elfoglaltak, akkor a tevékenységek "megmerevedhetnek". Amennyiben a rendszert nem éri külső beavatkozás vagy a folyamatok nem tudják megváltoztatni saját állapotukat, akkor a rendszer nem tud elmozdulni a holtpontról.
A holtpont fogalmát elterjedten használják a következő tudományokban:
- Mechanika
- Vezérléstan
- Számítástechnika
A számítástechnikában a holtpont az elosztott rendszerek, a párhuzamos feldolgozás és a multiprocesszing (több szál együttes futtatása) esetén fordulhat elő. Ezért ezekben az esetekben szoftveres és hardveres erőforrásmenedzsmentet használnak a holtponti szituációk kialakulásának megelőzésére.
Ugyancsak holtpont keletkezik a kommunikációban, ha folyamatok egymás információira várnak, miközben nem tudnak előrehaladni a saját feldolgozásukban.
A holtpont kialakulásának feltételei
- 1. Kölcsönös kizárás: legalább egy erőforrásnak nem megosztható módban kell lennie (egyszerre csak egy folyamat használhatja).
- 2. Erőforrások lefoglalása (várakozás közben lekötés történik): azaz a folyamatoknak erőforrásokat kell foglalkoztatni (pl. nyomtató), miközben mások igénylik ezeket.
- 3. Megszakítás nem megengedett (rablás nincs): ami azt jelenti, hogy a rendszer nem függesztheti fel egy erőforrás hozzárendelését egy folyamatokhoz azért, hogy egy másik számára hozzáférhetővé tegye az erőforrást.
- 4. Visszatérő igények (ciklikus várakozás): egy folyamat igényel egy erőforrást, és később újra ugyanazt az erőforrást igényli a folyamat.
Holtpont csak akkor alakul ki, ha a fenti feltételek egyszerre teljesülnek!
Holtpont megelőzése
A holtpont megelőzés célja az, hogy a fenti feltételekből legalább egy ne teljesüljön.
- 1. A kölcsönös kizárás néhány esetben (pl. CPU) elkerülhetetlen, de másoknál könnyen elkerülhető. Az egyik leggyakrabban használt technika a spooling-olás. Ilyenkor egy átmeneti pufferbe helyezzük el a nyomtatandó anyagot, és ezek egy batch folyamat segítségével használják fel az erőforrást.
- 2. Az erőforrások lefoglalása úgy kerülhető el, hogy egy időben csak egy erőforrást foglaljon le a folyamat.
- 3. A megszakíthatóságról néhány erőforrás esetében azonnal eldönthetjük, hogy nem köthető ki. A T.H.E. operációs rendszerekben megengedik a megszakíthatóságot. Ezt úgy érik el, hogy lapokra bontják az output-ot, és az operációs rendszer feladatának tekintik a kinyomtatott anyag rendezését.
- 4. A visszatérő igények elkerülésére hierarchikus rendszert használunk. A forrásokat kategóriákba osztjuk, és ezekhez prioritásokat rendelünk.
Források
- Operációs rendszerek - 6 Erőforráskezelés. [2012. július 11-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. április 3.)
- Kusper Gábor, Király Roland, Kovács Emőd, Baranyi Ádám, Csintalan Ádám, Gréczi László, Pekk Roland, Pető György: AZ EKFCSLINT HOLTPONT KERESŐ ESZKÖZ. (Hozzáférés: 2012. április 3.)
- Operációs rendszerek - Erőforráskezelés. (Hozzáférés: 2012. április 3.)
Fordítás
Ez a szócikk részben vagy egészben a Deadlock című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Informatikai portál • összefoglaló, színes tartalomajánló lap