Különbség a holtpont és az éhezés között

Tartalomjegyzék:

Különbség a holtpont és az éhezés között
Különbség a holtpont és az éhezés között

Videó: Különbség a holtpont és az éhezés között

Videó: Különbség a holtpont és az éhezés között
Videó: 🥇 Sikeres vállalkozás: Hol a különbség a jó és a rossz vállalkozás között? 2024, Július
Anonim

Deadlock vs Starvation

A holtpont és az éhezés közötti fő különbség a köztük lévő ok-okozati összefüggés; a holtpont az, ami éhezést okoz. Egy másik érdekes különbség a holtpont és az éhezés között, hogy a holtpont problémát jelent, míg az éhezés néha segíthet a holtpontról való kilábalásban. A számítógépes világban egy számítógépes program írásakor több folyamat/szál is lefut egymás után, hogy teljesítse a programhoz szükséges szolgáltatást. Ezért a tisztességes rendszer érdekében a programozónak gondoskodnia kell arról, hogy minden folyamat/szál megkapja vagy elegendő hozzáférést kapjon azokhoz az erőforrásokhoz, amelyekre szükségük van. Ha nem, akkor holtpont lesz, ami később éhezéshez vezet. Általában egy tisztességes rendszer nem tartalmaz holtpontokat vagy éhezést. Patthelyzetek és éhezések főleg akkor fordulnak elő, ha sok szál verseng a korlátozott erőforrásokért.

Mi az a holtpont?

A holtpont egy olyan állapot, amely akkor következik be, amikor két szál vagy folyamat egymásra vár a feladat végrehajtására. Csak leteszik a kagylót, de soha nem hagyják abba vagy fejezik be a feladatukat. Az informatikában mindenhol holtpontok láthatók. Egy tranzakciós adatbázisban, amikor két folyamat a saját tranzakcióján belül ugyanazt a két információt frissíti, de ellenkező sorrendben, az holtpontot okoz. Egyidejű programozás során holtpont léphet fel, amikor két versengő akció egymásra vár, hogy továbbhaladjanak. A távközlési rendszerekben a jelek elvesztése vagy meghibásodása miatt patthelyzet fordulhat elő.

Jelenleg a holtpont az egyik fő probléma a többfeldolgozó rendszerekben és a párhuzamos számítástechnikában. Megoldásként egy folyamatszinkronizálásnak nevezett zárrendszert valósítanak meg szoftverre és hardverre egyaránt.

Különbség a holtpont és az éhezés között
Különbség a holtpont és az éhezés között
Különbség a holtpont és az éhezés között
Különbség a holtpont és az éhezés között

Mi az éhezés?

Az orvostudományi szótár szerint az éhezés az élet fenntartásához szükséges tápanyagok súlyos vagy teljes hiányának következménye. Hasonlóképpen, a számítástechnikában az éhezés olyan probléma, amely akkor fordul elő, ha több szál vagy folyamat vár ugyanarra az erőforrásra, amit holtpontnak neveznek.

A holtpontból való kijutás érdekében az egyik folyamatnak vagy szálnak fel kell adnia vagy vissza kell gurulnia, hogy a másik szál vagy folyamat használni tudja az erőforrást. Ha ez folyamatosan megtörténik, és ugyanannak a folyamatnak vagy szálnak minden alkalommal fel kell adnia vagy vissza kell gurulnia, miközben hagyja, hogy más folyamatok vagy szálak használják az erőforrást, akkor a kiválasztott folyamat vagy szál, amely visszagördült, az úgynevezett kiéheztetésen megy keresztül. Ezért a holtpontról való kilábalás érdekében az éhezés az egyik megoldás. Ezért az éhezést néha egyfajta élősdinak nevezik. Ha sok magas prioritású folyamat vagy szál van, egy alacsonyabb prioritású folyamat vagy szál mindig holtpontra kerül.

Sok éhezés lehet, mint például az erőforrások és a CPU éhezés. Sok gyakori példa van az éhezésre. Ezek az olvasók-írók problémája és az étkezési filozófusok problémája, ami híresebb. Öt néma filozófus ül egy kerek asztalnál spagettitálak mellett. A szomszédos filozófusok minden párja közé villákat helyeznek. Minden filozófusnak felváltva kell gondolkodnia és ennie. Egy filozófus azonban csak akkor ehet spagettit, ha bal és jobb villája is van.

Holtpont vs éhezés
Holtpont vs éhezés
Holtpont vs éhezés
Holtpont vs éhezés

Az „étkező filozófusok”

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

Folyamat:

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

• Kiéheztetéskor, amikor két vagy több szál vagy folyamat ugyanarra az erőforrásra vár, az egyik visszagördül, és hagyja, hogy a többiek először használják az erőforrást, majd ezután a kiéhezett szál vagy folyamat újra próbálkozik. Ezért minden szál vagy folyamat előrehalad.

Görgetés vissza:

• Patthelyzetben mind a magas prioritású szálak/folyamatok, mind az alacsony prioritású szálak/folyamatok végtelenül várnak egymásra. Soha nem ér véget.

• De éhezéskor az alacsony prioritásúak várnak vagy visszahúzódnak, de a magas prioritásúak továbbmennek.

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

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

• Az éhezés egyfajta éleszárlat, és néha segít kilábalni a holtpontról.

Deadlock and Starvation:

• A holtpont éhezést okoz, de az éhezés nem okoz holtpontot.

Okai:

• Patthelyzet következik be a kölcsönös kizárás, tarts és várj, 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őrizetlen kezelése és a folyamatprioritások miatt következik be.

Összefoglaló:

Deadlock kontra éhezés

A holtpont és az éhezés néhány olyan probléma, amely a programozás és a hardver megvalósítása során fellépő adatversenyek és versenyfeltételek miatt jelentkezik. Patthelyzetben két szál végtelenül várakozik egymásra végrehajtás nélkül, míg éhezésben az egyik szál visszagördül, és hagyja, hogy a másik szál használja az erőforrásokat. A holtpont éhezést okoz, míg az éhezés segít egy szálnak kijutni a holtpontból.

Ajánlott: