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


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

1. Boshlash:

    • Work = Available
    • i = 1,2, …, n lar uchun Finish [i] = false.
    • 2. (a) Finish [i] = false va (b) Need[i]Work bo‘ladigan i ni aniqlash (topish).

    • Agar bunday i bo‘lmasa, 4-qadamga o‘tish.
    • 3. Work = Work + Allocation[i]

    • Finish[i] = true
    • 2-qadamga o‘tish.
    • 4. Agar barcha i lar uchun Finish [i] == true bo‘lsa, u holda tizim xavfsiz holatda bo‘ladi.

Pi jarayon uchun resurslarga so‘rov algoritmi

Request = Pi jarayon uchun uchun so‘rovlar vektori.

Agar Requesti [j] = k bo‘lsa, u holda Pi jarayon Rj turidagi resurslarning k ta nusxasini talab qiladi.

  • 1. Agar Requesti Needi bo‘lsa, 2-qadamga o‘tish. Aks holda istisno holati yaratiladi, chunki jarayon o‘zining maksimal ehtiyojidan oshib ketdi.
  • 2. Agar RequestiAvailable bo‘lsa, 3-qadamga o‘ting. Aks holda Pi jarayon resurs yopiq (band) bo‘lganligi uchun kutishi shart bo‘ladi.
  • 3. Pi jarayonga resurslarni ajratishni holatni quyidagi ko‘rinishda modifikatsiyalagan holatda rejalashtirish:
    • Available = Available - Requesti;
    • Allocationi = Allocationi + Requesti;
    • Needi = NeediRequesti;;
      • Agar holat xavfsiz bo‘lsa resurs Pi ga ajratilgan.
      • Agar holat xavfli bo‘lsa Pi kutadi; resurslarni taqsimlashning oldingi holatini tiklanadi.

Bankir algoritmining qo‘llanilishiga misol

  • P0 dan P4 gacha 5 ta jarayon berilgan bo’lsin;
    • resurslarning 3 ta turi - A (10 nusxa), B (5 nusxa) va C (7 nusxa).
  • T0 vaqtdagi (boshlang’ich) holat:

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