Holtpont megelőzés Bankár algoritmussal Biztonságosnak nevezzük (holtpont kialakulása szempontjából) azokat a folyamat-erőforrás rendszereket, amelyekben létezik a folyamatoknak (legalább egy) olyan sorrendje, amely szerint végrehajtva őket, azok maximális erőforrás igénye is kielégíthető. Biztonságos állapotban NEM LEHETSÉGES holtponti állapot kialakulása Egy-egy erőforrás foglalás, vagy folyamat indítás esetén (még mielőtt az operációs rendszer a kért erőforrásokat átadná) a biztonságos állapotot a BANKÁR ALGORITMUS-sal ellenőrizhetjük.
Egy rendszerben az alábbi erõforrások vannak: E1: 10 darabE2: 5 darabE3: 7 darab A rendszerben 5 folyamat van: P1, P2, P3, P4, P5 Biztonságos-e holtpontmentesség szempontjából a következõ állapot? MAX. IGÉNYFOGLAL E1 E2 E3E1 E2 E3 P P P P P
3. lépés: IGÉNY = MAX.IGÉNY - FOGLAL MAX. IGÉNYFOGLALIGÉNY E1 E2 E3E1 E2 E3E1 E2 E3 P P P P P
3. lépés: IGÉNY = MAX.IGÉNY - FOGLAL MAX. IGÉNYFOGLALIGÉNY E1 E2 E3E1 E2 E3E1 E2 E3 P P P P P
3. lépés: IGÉNY = MAX.IGÉNY - FOGLAL MAX. IGÉNYFOGLALIGÉNY E1 E2 E3E1 E2 E3E1 E2 E3 P P P P P
3. lépés: IGÉNY = MAX.IGÉNY - FOGLAL MAX. IGÉNYFOGLALIGÉNY E1 E2 E3E1 E2 E3E1 E2 E3 P P P P P
4. lépés: A szabad erõforrások számának (KÉSZLET) meghatározása Emlékeztetõül az összes erõforrás a rendszerben: (10, 5, 7) FOGLAL E1 E2 E3 P1010 P2302 P3302 P4211 P5002 ___________ 8
4. lépés: A szabad erõforrások számának (KÉSZLET) meghatározása Emlékeztetõül az összes erõforrás a rendszerben: (10, 5, 7) FOGLAL E1 E2 E3TEHÁT AZ E1-BÕL P = 2 DARAB P2302SZABAD VAN P3302 P4211 P5002 ___________ 8
4. lépés: A szabad erõforrások számának (KÉSZLET) meghatározása Emlékeztetõül az összes erõforrás a rendszerben: (10, 5, 7) FOGLAL E1 E2 E3HASONLÓAN ELVÉGEZVE P1010A TÖBBIRE IS, MEGKAPJUK P2302A SZABAD ERÕFORRÁS P3302KÉSZLETET: P4211(2, 3, 0) P5002 _________________________________ 827
5. lépés: Megnézzük, hogy a KÉSZLET-bõl kielégíthetõ-e valamelyik folyamat igénye Emlékeztetõül a KÉSZLET: (2, 3, 0) FOGLALIGÉNY E1 E2 E3E1 E2 E3 P P P P P
5. lépés: Megnézzük, hogy a KÉSZLET-bõl kielégíthetõ-e valamelyik folyamat igénye Emlékeztetõül a KÉSZLET: (2, 3, 0) FOGLALIGÉNY E1 E2 E3E1 E2 E3Látható, hogy P P2 igénye P kielégíthetõ P P P
6b. lépés: P2 igényét kielégítjük, így az le tud futni
7. lépés: Ha P2 lefutott, felszabadítja az összes, korábban általa lefoglalt erõforrást, vagyis, az új KÉSZLETet megkaphatjuk, ha ezeket az erõforrásokat hozzáadjuk a KÉSZLET elõzõ (2, 3, 0) értékéhez FOGLALIGÉNY E1 E2 E3E1 E2 E3 P P P P P
7. lépés: Ha P2 lefutott, felszabadítja az összes, korábban általa lefoglalt erõforrást, vagyis, az új KÉSZLETet megkaphatjuk, ha ezeket az erõforrásokat hozzáadjuk a KÉSZLET elõzõ (2, 3, 0) értékéhez FOGLALIGÉNY E1 E2 E3E1 E2 E3Új KÉSZLET: P (5, 3, 2) P P P P
8. lépés: Menjünk vissza az 5. lépésre, és nézzük meg, hogy az új KÉSZLETbõl kielégíthetõ-e valamelyik másik folyamat igénye!
5. lépés: Nézzük meg, hogy az új KÉSZLETbõl kielégíthetõ-e valamelyik folyamat igénye! Emlékeztetõül a KÉSZLET: (5, 3, 2) A megmaradt folyamatok: FOGLALIGÉNYLátható, hogy E1 E2 E3E1 E2 E3például P5 P igénye P kielégíthetõ P P
5. lépés: Nézzük meg, hogy az új KÉSZLETbõl kielégíthetõ-e valamelyik folyamat igénye! Emlékeztetõül a KÉSZLET: (5, 3, 2) A megmaradt folyamatok: FOGLALIGÉNY E1 E2 E3E1 E2 E3Az új KÉSZLET: P (5, 3, 4) P P P
A fentieket ismételve, az (5,3,4) KÉSZLETbõl a P4 igénye kielégíthetõ FOGLALIGÉNY E1 E2 E3E1 E2 E3 P P P
A fentieket ismételve, az (5,3,4) KÉSZLETbõl a P4 igénye kielégíthetõ FOGLALIGÉNYAz új KÉSZLET: E1 E2 E3E1 E2 E3(7, 4, 5) P P P
A fentieket ismételve, a (7,4,5) KÉSZLETbõl például a P1 igénye kielégíthetõ FOGLALIGÉNY E1 E2 E3E1 E2 E3 P P
A fentieket ismételve, a (7,4,5) KÉSZLETbõl például a P1 igénye kielégíthetõ FOGLALIGÉNYAz új KÉSZLET: E1 E2 E3E1 E2 E3(7, 5, 5) P P
A fentieket ismételve, a (7,4,5) KÉSZLETbõl például a P1 igénye kielégíthetõ FOGLALIGÉNYAz új KÉSZLET: E1 E2 E3E1 E2 E3(7, 5, 5) P Ebbõl a készletbõl pedig a megmaradt P3 igénye kielégíthetõ
Vagyis találtunk legalább egy (ebben a példában több is van) sorrendet, amelyben a folyamatok erõforrás igénye kielégíthetõ, tehát a rendszer BIZTONSÁGOS ÁLLAPOTBAN van