Ugrás a tartalomhoz

Operációs rendszerek

Dr. Fazekas Gábor (2011)

Kempelen Farkas Hallgatói Információs Központ

A holtpont elkerülése

A holtpont elkerülése

Holtpont elkerülésének két megközelítése:

  • ne indítsunk el egy processzust, ha igényei holtponthoz vezetnek!

  • ne elégítsünk ki erőforráskérelmet, ha az allokáció holtponthoz vezethet!

Processzus indításának megtagadása:

  • n processzus, m erőforrás esetén bevezetésre kerül:

    • erőforrás (Resource) vektor (R1,...,Rm),

    • rendelkezésre álló erőforrások (Available) vektora (V1,...,Vm),

    • allokációs (Allocation) mátrix (A11,....Anm),

    • illetve az összes processzus összes erőforrásra vonatkozó igényeinek (Claim) mátrixa (C11,...,Cnm)

  • így: egy új processzus akkor indíható el, ha Ri≥C(n+1)i+Σn k=1Cki az összes i-re

  • ez nem optimális stratégia, ugyanis a legrosszabbat tételezi fel: az összes processzus egyszerre akarja megszerezni az összes, számára szükséges erőforrást

Erőforrás lefoglalásának megtagadása:

  • úgy is nevezik, hogy bankár algoritmus

  • a rendszer állapota: az erőforrások aktuális kiosztása processzusokhoz

  • biztonságos állapot az, amiből legalább egy végrehajtási sorrend lehetséges, mely nem holtponttal végződik (nem biztonságos állapot az, amire ez nem igaz)

  • nincs visszaszorítás és beavatkozás!

  • bankár algoritmusra vonatkozó korlátok:

    • – a maximum erőforrás-szükségletet előre meg kell állapítani

    • – fix számúerőforrás foglalható csak le

    • – processzus nem léphet ki, amíg erőforrást foglal éppen le