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.
Példa a holtpontra
Példa a holtpontra

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.

Példa a körkörös várakozásra

Körkörös várakozás példa

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.