Livelock: Mi a példa a különbség a holtpontra

Tartalomjegyzék:

Anonim

Mi a Livelock?

A Livelock olyan helyzet, amikor az exkluzív zár kérését többször elutasítják, mivel sok átfedésben lévő megosztott zár folyamatosan zavarja egymást. A folyamatok folyamatosan változtatják állapotukat, ami tovább akadályozza őket a feladat végrehajtásában. Ez tovább akadályozza őket a feladat végrehajtásában.

Ebben az operációs rendszer bemutatóban megtudhatja:

  • Mi a Livelock?
  • Példák Livelockra
  • Mi vezet a Livelockhoz?
  • Mi az a holtpont?
  • Példa a holtpontra
  • Mi az éhezés?
  • Különbség a holtpont, az éhezés és a Livelock között

Példák Livelockra

1. példa:

A Livelock legegyszerűbb példája két olyan ember lenne, akik négyszemközt találkoznak egy folyosón, és mindketten félrelépnek, hogy elengedjék a másikat. Végül egyik oldalról a másikra haladnak, anélkül, hogy bármilyen előrelépést végeznének, amikor ugyanúgy haladnak abban az időben. Itt soha nem keresztezik egymást.

2. példa:

A fenti képen látható, hogy a két adott folyamatnak mindegyikéhez két erőforrás szükséges, és a primitív polling enter nyilvántartás segítségével megpróbálják megszerezni a számukra szükséges zárakat. Ha a kísérlet nem sikerül, a módszer újra működik.

  1. Folyamat A visszatartás Y erőforrás
  2. A B folyamat tartalmazza az X erőforrást
  3. Az A folyamat X erőforrást igényel
  4. A B folyamat Y erőforrást igényel

Feltételezve, hogy az A folyamat először fut, és megszerzi az X adatforrást, majd a B folyamat fut és megszerzi az Y erőforrást, függetlenül attól, hogy melyik folyamat fut először, egyik sem halad tovább.

A két folyamat egyikét sem blokkolják. Ismételten felhasználják a CPU erőforrásait, anélkül, hogy bármilyen előrelépés történne, de leállítanak minden feldolgozási blokkot.

Ezért ez a helyzet nem holtpont, mert nincs egyetlen folyamat sem blokkolva, de a holtponttal egyenértékű szituációval szembesülünk, ami az ÉLŐZÁR.

Mi vezet a Livelockhoz?

Livelock akkor fordul elő, ha egy adott rendszerben az összes megengedett folyamatot meg kell határozni a folyamattáblázat összes bejegyzésének számával. Ezért a folyamattábla-helyeket véges erőforrásoknak kell nevezni.

Mi az a holtpont?

A holtpont az a helyzet, amely akkor fordul elő az operációs rendszerben, amikor bármely folyamat várakozási állapotba lép, mert egy másik várakozási folyamat tartja a kért erőforrást. A holtpont gyakori probléma a többszörös feldolgozásban, ahol több folyamat osztozik egy bizonyos típusú, egymást kizáró erőforrásban, amelyet soft lockként vagy szoftverként ismerünk.

Példa a holtpontra

  • Valódi példa lenne a forgalom, amely csak egy irányba halad.
  • Itt a hidat erőforrásnak tekintik.
  • Tehát, amikor a holtpont bekövetkezik, könnyen megoldható, ha az egyik autó biztonsági mentést hajt végre (megelőzze az erőforrásokat és a visszagörgetést).
  • Előfordulhat, hogy holtpont esetén több autót kell támogatni.
  • Tehát éhezés lehetséges.
Példa a holtpontra

Mi az éhezés?

Az éhezés olyan helyzet, amikor az alacsony prioritású folyamatokat blokkolták, és a magas prioritású folyamatok folytatódtak. Bármely rendszerben a magas / alacsony prioritású erőforrások iránti kérelmek dinamikusan zajlanak. Ezért bizonyos politikákra van szükség ahhoz, hogy eldöntsék, ki mikor kap támogatást.

Egyes algoritmusok használatával előfordulhat, hogy egyes folyamatok nem kapják meg a kívánt szervizelést, annak ellenére, hogy nincsenek holtpontban. Az éhezés akkor fordul elő, amikor egyes szálak miatt a megosztott erőforrások hosszú ideig nem állnak rendelkezésre.

Példa az éhezésre:

Például egy objektum egy szinkronizált módszert kínál, amelynek visszatérése valószínűleg hosszú ideig tart. Ha egy szál gyakran használja ezt a módszert, akkor más szálak is blokkolásra kerülnek, amelyek szintén gyakran szinkronizált hozzáférést igényelnek ugyanahhoz az objektumhoz.

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

  • A holtpont az a helyzet, amely akkor fordul elő az operációs rendszerben, amikor bármely folyamat várakozási állapotba lép, mert a kért erőforrást egy másik várakozási folyamat tartja.
  • A megélhetés viszont majdnem hasonló a holtponthoz, azzal a különbséggel, hogy az elevenben részt vevő folyamatok állapota mindig változik, és egyik sem halad.
  • Tehát a Livelock az erőforrások éhezésének egyedülálló esete.

Összegzés:

  • Meghatározás: A Livelock olyan helyzet, amikor az exkluzív zár kérését ismételten elutasítják, mivel sok átfedésben lévő megosztott zár folyamatosan zavarja egymást.
  • Livelock akkor fordul elő, ha egy adott rendszerben az összes megengedett folyamatot meg kell határozni a folyamattáblázat összes bejegyzésének számával
  • A holtpont az a helyzet, amely akkor fordul elő az operációs rendszerben, amikor bármely folyamat várakozási állapotba lép, mert egy másik várakozási folyamat tartja a kért erőforrást.
  • Valódi példa lenne a forgalom, amely csak egy irányba halad.
  • Livelockra példa lehet két ember, akik négyszemközt találkoznak egy folyosón, és mindketten félre mozdulnak, hogy elengedjék a másikat.
  • Az éhezés olyan helyzet, amikor az alacsony prioritású folyamatokat blokkolták, és a magas prioritású folyamatok folytatódtak.