You are on page 1of 18

Operációs Rendszerek

10. előadás - Holtpont kezelés, szignálok


Links

• A. Tanenbaum: Op. rendszerek


• http://www.iit.uni-miskolc.hu/%7Evadasz/GEIAL201/Jegyzet/3rd.pdf

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 2


Erőforrás használata

• Kérése/foglalása
• Használata
• Elengedése

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 3


Holtpont/Deadlock definiciója

Egy csoport processz holtpontban van, akkor ha a csoport minden processze


egy olyan erőforrás birtoklására vár, amelyet egy másik a csoporton belüli
processz birtokol.

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 4


Holtpont feltételei
(Coffman 1971)
• Mutex: minden erőforrás vagy hozzá van rendelve (locked) egy processzhez
vagy szabad
• Birtoklás: egy processz birtokolhat egy erőforrást, majd igényelhet újabbakat
• Megszakíthatatlanság: egy processz nem vesztheti el az általa birtokolt
erőforrást
• Ciklikusság: kör-körös várakozások alakuljanak ki az erőforrásokon.
Ha valamelyik nem teljesül, nincs holtponti helyzet.

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 5


Grafikus ábrázolás
• Processzek : A,B,C,D
• Erőforrások : R,S,T,U

Birtoklás Kérés Holtpont

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 6


Holtpont kialakulása
és elkerülése

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 7


Holtpont feloldás

• Nem foglalkozunk a Deadlock-kal


• Felismerés és helyreállítás
• Megelőzés (strukturálisan meghiúsítva)
• Dinamikus megoldás

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 8


Holtpont feloldás
Nem foglalkozunk vele
• strucc: unix
• Valószínűtlen eseménynek tekintjük a helyzetet

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 9


Holtpont feloldás: Megelőzés

• Coffman 1 (mutex) megszüntetése


• pl. nyomtató esetén háttér tár használata – DL ott is lehet!
• Coffman 2 (birtoklás és továbbhaladás)
• előre meg kell adnia minden processznek, hogy milyen erőforrásokat akar
használni:
• con: rossz erőforrás kihasználás! a processzek nem tudják előre, hogy mennyi
erőforrásra lesz szüksége...
• minden újabb lock-olásnál, el kell engedni az összes erőforrást és csak, akkor
kapja vissza, ha az igény kielégíthető
• Coffman 3 (megszakíthatatlanság)
• nem megoldás

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 10


Holtpont feloldás: Megelőzés

• Coffman 4 (ciklikus erőforrás birtoklás)


• egy proc. egyszerre csak 1 erőforrást birtokolhat.
• con: másolás 2 medium között

• a processzusok csak egy előre megadott sorrendben igényelhetik az


erőforrásokat.
• pl. 1. nyomt, 2. szallag, 3. lemez, 4. robot
• con: rossz erőforrás kihasználás, nincs jó sorrend

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 11


Holtpont feloldás:
Felismerés, helyreállítás
• ha kör alakulna ki egy kéréskor, megszüntetjük a processzt
• azokat a processzeket, amelyek hosszú ideig allokálnak erőforrást
megszüntetjük (batch rendszerekben újra indítjuk, de a rendszer állapot
visszaállítás problémás)

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 12


Holtpont feloldás: Dinamikusan

• Egyetlen erőforrás -> Bankár algoritmus:


• Lényege:
• Ha jelen pillanatban ki tudjuk elégíteni valamely processz maximális igényét, akkor
biztonságos állapotban vagyunk
• Ha nem, akkor bizonytalan
• Feladat:
• Megtalálni azt a „pályagörébét”, amelyen biztosítható a biztonságos állapotok
átmenetei

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 13


Bankár algoritmus
(egy erőforrás)
• Példa

Hitel igenylo Birtokol Max Hitel igenylo Birtokol Max Hitel igenylo Birtokol Max
A 0 6 A 1 6 A 1 6
B 0 5 B 1 5 B 2 5
C 0 4 C 2 4 C 2 4
D 0 7 D 4 7 D 4 7

szabad: 10 szabad: 2 szabad: 1


biztonságos állapot biztonságos állapot bizonytalan állapot

Az algoritmus csak akkor engedélyez átmenetet, ha az mindig biztonságos állapothoz vezet!

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 14


Több erőforrás:
Dijkstra algoritmus
• Példa process \ resource cd printer robot process \ resource cd printer robot
A 3 0 1 A 1 1 0
B 1 1 1 B 1 0 0
C 1 2 1 C 0 1 0
D 1 0 0 D 1 1 0

További kérések
Lefoglalt erőforrások
1. Kiválasztunk egy processzt. Megnézzük, hogy ki lehet-e
Szabad erőforrások 0 1 2 elégíteni az igényét.
Foglalt erőforrások 6 3 3
2. Ha igen, akkor odaadjuk és miután befejezte futását az
erőforrást visszaadja a rendszernek
Összes erőforrások 6 4 5 3. Teszteljük, hogy az 1. és 2.-es pontokkal létezik-e olyan útvonal,
aminek a segítségével a rendszerben az összes processz igénye
egymás után kielégíthető.

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 15


Problémák

• Előre meg kell mondania a processznek, hogy hány erőforrást igényel.


• Real-time kérdések, a batch-es megoldásokban
• NINCS, vagy legalább is eddig még nem tudunk tökéletes megoldásról!!!

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 16


Ellenőrző kérdések

• Milyen lépésekben használunk egy több felhasználós operációs rendszeren


egy erőforrást?
• Mi a holtpont definíciója?
• Soroljon fel 3 feltételt a Coffman fele 4 feltétel közül, ami a holtpont
kialakulásához kell?
• Milyen holtpont feloldási lehetőségek vannak?
• Rajzoljon holtpont helyzetet a Tanenbaum jelölési rendszerével.
• Mi a megszakítás és a kivételek közötti lényeges különbség?
• Mi a signal-okkal kapcsolatos lépések?
• HF: Mi a core dump?
• Milyen típusú processz-eknek szokás SIGHUP-ot üzemszerűen (nem
processzus elhaláskor) küldeni?
• Mi a SIGKILL, SIGALARM, SIGUSR1, SIGABORT, SIGFPE?

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 17


Kapcsolódó ZV tétel

• 20. Holtpont definíciója; Holtpont kialakulásának feltételei (Coffman); Példa


holtpont kialakulására; Holtpont feloldási stratégiák (struccpolitika,
felismerés és helyreállítás, megelőzés, dinamikus megoldás); példák; Bankár
algoritmus; Dijkstra algoritmus.

2022. 10. 29. Operációs Rendszerek előadás - Dr. Megyesi Zoltán 18

You might also like