Különbség a holtpont és az éhezés között | Deadlock vs Uralkodás

Anonim

Deadlock vs Uralkodás

A fő különbség a holtpont és az éhezés között az ok-okozati kapcsolat közöttük; ez a patthelyzet okoz éhínséget. Egy másik érdekes különbség a holtpont és az éhezés között az, hogy a patthelyzet problémát jelent, míg az éhezés néha segíthet a holtpontról való kilépéshez. Számítógépes világban egy számítógépes program írása során több folyamatot és szálat fognak végrehajtani, amelyek egyidejűleg egymás után futnak, hogy teljesítsék a programhoz szükséges szolgáltatást. Ezért annak érdekében, hogy méltányos rendszer legyen, a programozónak biztosítania kell, hogy az összes folyamatot / szálat megkapja vagy elégséges hozzáférést biztosítson az általuk szükséges erőforrásokhoz. Ha nem, akkor lesz holtpont, és később éhínséghez vezet. Általában a tisztességes rendszer nem tartalmaz semmiféle akadályt vagy éhezést. A holtpontok és az éhezések főként akkor fordulnak elő, ha sok szál versenyez a korlátozott erőforrásokért.

Mi a Deadlock?

A holtpont olyan állapot, amely akkor következik be, ha két szál vagy folyamat vár egymásra a feladat befejezését . Csak leteszik, de soha nem hagyják abba a feladatot. A számítástechnikában mindenhol megtalálhatók a holtpontok. Egy tranzakciós adatbázisban, amikor két folyamata mindegyik saját tranzakcióján belül frissíti ugyanazt a két információs sort, de ellentétes sorrendben, holtpontot okoz. Egyidejű programozás esetén holtpontot akkor lehet előfordulni, ha két egymást követő művelet vár egymásra, hogy előre haladjon. A telekommunikációs rendszerekben a jelek vesztesége vagy sérülése miatt holtpont keletkezhet.

Jelenleg a holtpont a többprocesszoros rendszerek és a párhuzamos számítás egyik fő problémája. Megoldásként egy folyamatszinkronizáció

nevű zárolási rendszert valósít meg a szoftverekhez és a hardverhez.

Mi az éhezés?

Az orvostudomány szótárából az éhezés az élet fenntartásához szükséges súlyos vagy hiányos tápanyaghiány eredménye. Hasonlóképpen, a számítástechnikában az éhezés olyan problémát jelent, amely akkor fordul elő, amikor több szál vagy folyamat vár ugyanazt az erőforrást, amelyet holtpontnak nevezünk

. Ahhoz, hogy kiléphessen egy holtpontról, az egyik folyamatot vagy szálat fel kell adnia vagy vissza kell húzni, hogy a másik szál vagy folyamat használja az erőforrást. Ha ez folyamatosan megtörténik, és ugyanazt a folyamatot vagy szálat minden alkalommal fel kell adni vagy visszahúzni, miközben más folyamatokat vagy szálakat hagynak fel az erőforrás használatára, akkor a kiválasztott folyamatot vagy szálat, amely visszahúzódik, éhínségnek nevezik.Ezért a holtpontról való kilépéshez az éhezés az egyik megoldás . Éppen ezért néha az éhínséget egyfajta karcsúnak () nevezik. Ha sok kiemelt fontosságú folyamat vagy szál van, akkor az alacsonyabb prioritású folyamat vagy a szál mindig éhezik a holtponton.

Sok éhezés lehet, például éhínül az és erőforrásokban, éhínül a CPU -en. Számos gyakori példa az éhezésről. Ők az olvasó-írók problémái és az étkezési filozófusok problémája, amely híres. Öt csendes filozófus ül egy kerek asztalnál, spagetti tálakkal. A szomszédos filozófusok minden párja között villák helyezkednek el. Minden filozófusnak váltakozva gondolkodnia és enni. Azonban a filozófus csak akkor tud enni spagettit, ha mindkettő bal és jobb villákkal rendelkezik.

Az "étkezési filozófusok"

Mi a különbség a Deadlock és az éhezés között?

• Folyamat:

• Holtponton a két szál vagy folyamat vár egymásra, és mindkettő nem halad előre.

• Az éhezés során, ha két vagy több szál vagy folyamat várakozik ugyanarra az erőforrásra, az egyik visszahúzódik, és a többiek az erőforrást használják először, majd az éhező szálat vagy folyamatot újra megpróbálja. Ezért minden szál vagy folyamat mindenesetre előre halad.

• Rolling Back:

• Holtpontban mind a magas prioritású szálak / folyamatok, mind az alacsony prioritású szálak / folyamatok végtelen sorban várják egymást. Sose ér véget.

• De éhínség esetén az alacsony prioritásúak várják vagy visszahúzódnak, de a kiemelt fontosságúak lesznek.

• Várakozás vagy zárolás:

• A holtpont egy körkörös várakozás.

• Az éhezés egyfajta mozgás, és néha segít a kiesésből.

• Holtpont és éhezés:

• A holtpont éhínt okoz, de az éhezés nem okoz holtpontot.

• Okok:

• Holtpont keletkezik a kölcsönös kirekesztés, a tartás és a várakozás miatt, nincs elővásárlás vagy körkörös várakozás.

• Az éhezés az erőforrások szűkössége, az erőforrások ellenőrzés nélküli kezelése és a folyamat prioritásai miatt következik be.

Összefoglaló:

Deadlock vs. Uralkodás

A holtpont és az éhezés néhány olyan probléma, amely a programozás során fellépő adathasportok és versenykörülmények miatt, valamint a hardverek végrehajtása miatt fordul elő. Holtponton két szál végtelenül várakozik egymás számára végrehajtás nélkül, míg egy éhínségben egy szál visszahúzódik, és hagyja, hogy a másik szál felhasználja az erőforrásokat. A holtpont éhezést okozhat, míg az éhezés segíteni fog egy szálat, hogy kijusson a holtpontról.

A képek jóvoltából:

  1. Steve Jurvetson számítógépe, Menlo Park, USA (CC BY 2. 0)
  2. A "Dining Philosophers" a Bdesham (CC BY-SA 3. 0)