Különbség a holtpont és az éhezés között | Deadlock vs Uralkodás
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?. 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:
- Steve Jurvetson számítógépe, Menlo Park, USA (CC BY 2. 0)
- A "Dining Philosophers" a Bdesham (CC BY-SA 3. 0)