Язык программирования Java


Asosiy tasdiqlar (faktlar)


Download 351.85 Kb.
bet4/7
Sana19.06.2023
Hajmi351.85 Kb.
#1623614
1   2   3   4   5   6   7
Bog'liq
OT-07 deadlock (4)

Asosiy tasdiqlar (faktlar)

  • Tizim xavfsiz holatda bo‘lsa  "tupik"lar yo‘q.
  • Tizim xavfli holatda bo‘lsa  "tupik"lar bo‘lishi mumkin.
  • "Tupik"lardan qochish uchun  tizimning xech qachon xavfli holatga tushib qolmasligiga ishonch hosil qilish kerak.

"Tupik"lardan qochish strategiyasi uchun resurslarni taqsimlash grafi

Resurslarni taqsimlash grafida xavfli holat

Bankir algoritmi (printsiplari) Muallif: E. Deykstra

Birinchi marta THE operatsion tizimida qo‘llanilgan (tatbiq qilingan)

  • Ko‘p nusxadagi resurslar.
  • Har bir jarayon o‘ziga zarur resurslarga maksimum bo‘yicha mos talabni belgilashi shart.
  • Jarayon resurslarni talab qilganda kutib turish holati bo‘lishi mumkin.
  • Jarayon o‘zining barcha resurslarni olganda, u cheklangan vaqt davrida ularni qaytarishi shart.

Bankir algoritmi uchun ma’lumotlar tuzilmasi

n = jarayonlar soni; m = resurs turlari soni berilgan bo‘lsin

  • Avaliable: m vektorning uzunligi. Agar available [j] = k bo‘lsa, shu vaqtgacha Rj turidagi resurslarning k ta nusxasi ochiq bo‘ladi.
  • Max: n*m matritsa. Agar Max [i,j] = k bo‘lsa, u holda Pi jarayon Rj turidagi resurslarning eng ko‘p k ta resursni talab qilishi mumkin.
  • Allocation: n*m matritsa. Agar Allocation[i,j] = k bo‘lsa, u holda shu vaqtda Pi jarayonga Rj turidagi resurslarning k ta nusxasi band qilingan bo‘ladi.
  • Need: n*m matritsa. Agar Need[i,j] = k bo‘lsa, u holda Pi jarayon o‘z ishini yakunlash uchun Rj turidagi resurslarning yana k ta nusxasini talab qilishi mumkin.
  • Need [i,j] = Max[i,j] – Allocation [i,j].

Xavfsizlik algoritmi

m va n ning uzunlik vektorlari mos ravishda Work va Finish bo‘lsin.


Download 351.85 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling