|
O‘zaro birgalikda bloklanish shartlari
|
bet | 94/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Quyida o‘zaro bir-birini bloklashning 4 ta sharti keltirilgan:.
Bir-birini chiqarib tashlash. Joriy vaqtdagi har bir resurs bitta jarayonga beriladi yoki ruhsat etiladi.
Ushlab turish yoki kutish. Avvalgi olingan resurslarni ushlab turish vaqtida jarayon yangi resurslarni so‘rashga haqli bo‘ladi.
Resurslarni majburiy ravishda bo‘shatish. Jarayonning avval qabul qilib olgan resurslarini olib qo‘yish mumkin emas. Jarayon egasi o‘zi resurslarni ozod etishi kerak.
Siklik kutish. Ikki va undan ortiq jarayonlarning siklik ketma-ketligi mavjud bo‘lishi kerak, ularning har biri, ya’ni resursga kirishga ruhsat kutayotganlar.
Bir-birini bloklash sodir bo‘lganda yuqoridagi to‘rtta shartni bajarilishi kerak. Agar hech bo‘lmaganda ulardan biri bajarilmasa, berklikli holat bo‘lmaydi.
Bir – birini bloklashni moddellashtirish
Graflar yo‘nalishidan foydalanib yuqoridagi to‘rtta bir-birini bloklash shartini modellashtirish mumkin. Graflar ikki xil tugunga ega: kichkina doirada ko‘rsatilgan jarayonlar va kvadratda tasvirlangan resurslar. Resurs tugunidan jarayon tuguniga yo‘naltirilgan resurs avval jarayon tomonidan so‘ralganligini, olinganligini va joriy vaqtda jarayonda foydalanyotganligini bildiradi.
4.14a- rasmda R resurs joriy vaqtda A jarayonga berilgan.
a b v
4.14- rasm. Jarayonlarni bo‘linishi: a – resurs band; b – resurs so‘rovi; v – bir-birini bloklash
Jarayondan resursga yo‘nalgan rebro ayni vaqtda jarayon bloklangan va ushbu resursga kirishni kutish holatida ekanligini bildiradi. 4.14b-rasmda B jarayon S resursni kutayapti. 4.14v-rasmda bir birini bloklash tasvirlangan. S jarayon D jarayon ushlab turgan T resursni kutayapti. D jarayon T resursni bo‘shatish niyati yo‘q, chunki u C jarayondan foydalanilayotgan U jarayonni kutayapti. Ikkala jarayon cheksiz vaqtgacha kutish holatida bo‘ladi.
Graf sikli siklik ravishda jarayon va resurslarni o‘z ichiga olganini bir birini bloklash mavjud ekanligi bildiradi (tizimda har bir
ko‘rinishga bitta resurs bo‘lish taklif qilinadi). Bu misolda sikl C-T-D- U-C ketma-ketlikda bo‘ladi.
Bir biriga qarshi kurashishi uchun amaliyotda to‘rtta strategiya ishlatiladi:
Muammolarni to‘liq rad etish. Agar siz muammoni rad etmasangiz, u sizni rad etishi mumkin.
Aniqlash va bartaraf etish. Bir birini bloklash holati paydo bo‘lishga ruhsat beriladi, so‘ng u aniqlaniladi va muammoni hal qilish uchun choralar ko‘riladi.
Bir birini bloklash to‘rtta shartidan birontasi bajarilmaslikka yo‘l qo‘ymaslik uchun oldini olish.
Berklik holatidan dinamik qochishda resurslarni to‘g‘ri taqsimlash.
|
| |