Patthelyzet Operatingrendszer: Mi az, körkörös várakozás (példák)
Mi az a holtpont?
Holtpont olyan helyzet, amely az operációs rendszerben akkor fordul elő, amikor bármely folyamat várakozási állapotba kerül, mert egy másik várakozó folyamat tartja a keresett erőforrást. A holtpont gyakori probléma a többfeldolgozásban, ahol több folyamat osztozik egy bizonyos típusú, egymást kölcsönösen kizáró erőforráson, amelyet soft locknak vagy szoftvernek neveznek.
Példa a holtpontra
- Valós példa erre a forgalom, amely csak egy irányba halad.
- Itt a híd erőforrásnak számít.
- Tehát, amikor a holtpont megtörténik, könnyen megoldható, ha az egyik autó visszaáll (erőforrások előzése és visszaállítása).
- Előfordulhat, hogy több autót is tolatni kell, ha holtpont áll fenn.
- Tehát az éhezés lehetséges.

Mi az a körkörös várakozás?
Az egyik folyamat az erőforrásra vár, amelyet a második folyamat tart, amely szintén a harmadik folyamat által birtokolt erőforrásra vár, stb. Ez addig folytatódik, amíg az utolsó folyamat az első folyamat által birtokolt erőforrásra vár. Ez egy kör alakú láncot hoz létre.
Például az A folyamat le van osztva B erőforrással, mivel az A erőforrást kéri. Ugyanígy a B folyamatnak le van osztva az A erőforrás, és kéri a B erőforrást. Ez körkörös várakozási hurkot hoz létre.
Példa a körkörös várakozásra
Például egy számítógépnek három USB-meghajtója és három folyamata van. Mindhárom folyamat egy USB-meghajtót képes tárolni. Tehát amikor minden folyamat egy másik meghajtót igényel, a három folyamat holtpontra kerül, mivel mindegyik folyamat arra vár, hogy a jelenleg használatban lévő USB-meghajtó felszabaduljon. Ez egy kör alakú láncot eredményez.
Holtpont-észlelés az operációs rendszerben
A holtpontot az erőforrásütemező észlelheti. Az erőforrás-ütemező segít az operációs rendszernek nyomon követni a különböző folyamatokhoz hozzárendelt összes erőforrást. Tehát, ha holtpontot észlel, azt az alábbi módszerekkel lehet feloldani:
Holtpont megelőzése az operációs rendszerben
Fontos, hogy megelőzzük a holtpontot, mielőtt az bekövetkezne. A rendszer minden tranzakciót ellenőriz a végrehajtás előtt, hogy megbizonyosodjon arról, hogy nem vezet holtponthoz. Olyan, hogy még egy kis változás sem történt meg, mint egy olyan művelet, amely a jövőben holtponthoz vezethet, szintén soha nem engedte meg a folyamat végrehajtását.
Ez olyan módszerek összessége, amelyek biztosítják, hogy legalább az egyik feltétel ne teljesüljön.
Nincs megelőző intézkedés
Nincs elővásárlás – Egy erőforrást csak az azt őrző folyamat önként szabadulhat fel, miután a folyamat befejezte a feladatát
- Ha egy folyamat, amely bizonyos erőforrásokat tárol, olyan másik erőforrást kér, amelyet nem lehet azonnal hozzárendelni, abban a helyzetben minden erőforrás felszabadul.
- A megelőző erőforrások megkövetelik az erőforrások listáját egy várakozó folyamathoz.
- A folyamat csak akkor indul újra, ha vissza tudja nyerni a régi erőforrást és egy újat, amelyet kér.
- Ha a folyamat más erőforrást kér, amikor az elérhető, akkor azt az igénylő folyamat megkapta.
- Ha egy másik folyamat tartja, amely egy másik erőforrásra vár, felszabadítjuk, és átadjuk a kérő folyamatnak.
Kölcsönös kizárás
A kölcsönös kizárás a Mutex teljes formája. Ez egy speciális típusú bináris szemafor, amely a megosztott erőforráshoz való hozzáférés szabályozására szolgál. Tartalmaz egy prioritás öröklődési mechanizmust a kiterjesztett prioritás-inverziós problémák elkerülése érdekében. Lehetővé teszi, hogy az aktuális magasabb prioritású feladatokat a lehető legrövidebb ideig blokkolt állapotban tartsák.
A megosztott erőforrások, például az írásvédett fájlok soha nem vezetnek holtponthoz, de az erőforrásokhoz, például a nyomtatókhoz és a szalagos meghajtókhoz egyetlen folyamat általi kizárólagos hozzáférésre van szükségük.
Tarts és várj
Ebben az állapotban a folyamatokat le kell állítani, hogy egyetlen vagy több erőforrást tartsanak fenn, miközben egyidejűleg egy vagy több másikra várnak.
Körkörös Várj
Az összes erőforrástípus teljes sorrendjét írja elő. A körkörös várakozás azt is megköveteli, hogy minden folyamat a felsorolás növekvő sorrendjében kérjen erőforrásokat.
Holtpont elkerülése Algorithms
Jobb elkerülni a holtpontot, ahelyett, hogy a holtpont bekövetkezte után intézkedne. További információra van szüksége, például az erőforrások felhasználásának módjáról. A holtpontok elkerülése a legegyszerűbb és leghasznosabb modell, amely szerint minden folyamat deklarálja az egyes típusú erőforrások maximális számát, amelyre szüksége lehet.
Elkerülés Algorithms
A holtpont-elkerülési algoritmus segít dinamikusan felmérni az erőforrás-allokáció állapotát, hogy soha ne legyen körkörös várakozási helyzet.
Egy erőforrástípus egyetlen példánya.
- Használjon erőforrás-elosztási grafikont
- Olyan ciklusokra van szükség, amelyek elegendőek a holtponthoz
Egy erőforrástípus több példánya.
- A ciklusok szükségesek, de soha nem elegendőek a holtponthoz.
- Használja a bankár algoritmusa
Különbség az éhezés és a holtpont között
Íme néhány fontos különbség a holtpont és az éhezés között:
Holtpont | éhezés |
---|---|
A patthelyzet akkor következik be, amikor az egyik folyamat blokkolt. | Az éhezés egy olyan helyzet, amikor az összes alacsony prioritású folyamat blokkolva van, és a magas prioritású folyamatok végrehajtódnak. |
A holtpont egy végtelen folyamat. | Az éhezés hosszú várakozás, de nem végtelen folyamat. |
Minden holtponton mindig éhezik. | Minden éhezésnek nem feltétlenül van holtpontja. |
Holtpont következik be, majd kölcsönös kizárás, tarts és várj. Itt az elővásárlás és a körkörös várakozás nem egyszerre történik. | Ez az ellenőrizetlen prioritás- és erőforrás-kezelés miatt történik. |
A holtpont előnyei
Íme a Deadlock módszer előnyei/előnyei
- Ez a helyzet jól működik azoknál a folyamatoknál, amelyek egyetlen tevékenységet hajtanak végre
- Nincs szükség elővásárlásra a holtponthoz.
- Kényelmes módszer, ha olyan erőforrásokra alkalmazzuk, amelyek állapota könnyen menthető és visszaállítható
- Fordítási idő ellenőrzéssel végrehajtható
- Nem igényel futási idejű számítást, mivel a problémát a rendszertervezés megoldja
A holtpont hátrányai
Itt vannak a holtponti módszer használatának hátrányai/hátrányai
- Késlelteti a folyamatindítást
- A folyamatoknak ismerniük kell a jövőbeli erőforrásigényt
- A szükségesnél gyakrabban előz meg
- Letiltja a növekményes erőforráskéréseket
- Inherens elővásárlási veszteségek.
Összegzésként
- Holtpont definíció: Ez egy olyan helyzet, amely bekövetkezik OS amikor bármely folyamat várakozó állapotba kerül, mert egy másik várakozó folyamat tartja a keresett erőforrást
- A körkörös várakozás akkor történik, amikor az egyik folyamat az erőforrásra vár, amelyet a második folyamat tart, amely szintén a harmadik folyamat által birtokolt erőforrásra vár stb.
- A holtpontot az erőforrásütemező észlelheti.
- Fontos, hogy megelőzzük a holtpontot, mielőtt az bekövetkezne.
- Egy erőforrást csak az azt tartó folyamat szabadíthat fel önként, miután a folyamat befejezte a feladatát.
- A kölcsönös kizárás a Mutex teljes formája. Ez egy speciális bináris típus szemafor amely a megosztott erőforráshoz való hozzáférés szabályozására szolgál.
- A tartás és várakozás egy olyan állapot, amikor a folyamatokat le kell állítani abban, hogy egyetlen vagy több erőforrást tartsanak fenn, miközben egyidejűleg egy vagy több másikra várnak.
- A holtpont elkerülése a legegyszerűbb és leghasznosabb modell, amely szerint minden folyamat deklarálja az egyes típusú erőforrások maximális számát, amelyre szüksége lehet.
- A holtpont-elkerülési algoritmus segít dinamikusan felmérni az erőforrás-allokáció állapotát, hogy soha ne legyen körkörös várakozási helyzet.
- A holtpont egy végtelen folyamat, míg az éhezés hosszú várakozás, de nem végtelen folyamat.