Resurslarni sinchkovlik bilan taqsimlab, tiqilib qolmaslikning oldini olish usullari. Bankir algoritmi.
Muayyan qoidalarga rioya qilib, resurslarni ajratsangiz, o'zaro blokirovkadan qochishingiz mumkin. Ushbu turdagi algoritmlar orasida bankirning algoritmi eng mashhur bo'lib, Deikstroy tomonidan taklif etilgan bo'lib, u xavfsiz yoki ishonchli davlatlar (xavfsiz davlat) deb ataladi. Xavfsiz holat-bu kamida bitta voqealar ketma-ketligi mavjud bo'lgan, bu esa o'zaro blokirovkaga olib kelmaydi . Algoritm modeli kapitalga ega bo'lgan bankirning harakatlariga asoslangan bo'lib, kreditlar beradi.
Algoritm mohiyati quyidagicha.
Tizimning n qurilmalari mavjudligida, masalan, chiziqlar.
OS, agar uning maksimal ehtiyoji n dan oshmasa, foydalanuvchi jarayonidan so'rovni qabul qiladi.
Foydalanuvchi OS uning so'rovini qondirish imkoniyatiga ega bo'lsa, barcha qurilmalar end vaqt ichida tizimiga qaytariladi ta'minlaydi.
Tizimning hozirgi holati ishonchli deb ataladi, agar OS barcha jarayonlarni oxirgi vaqt ichida amalga oshirishi mumkin bo'lsa.
Bankir algoritmiga muvofiq, agar tizimning holati ishonchli bo'lsa, qurilmalarni tanlash mumkin.
3 ta foydalanuvchi va 11 ta qurilma bilan ishlaydigan tizim uchun ishonchli holatning misolini ko'rib chiqing, bu erda 9 ta qurilma ishtirok etadi va 2 zahirada mavjud. Hozirgi vaziyat shunday bo'lsin:
Bu holat ishonchli. Tizimning keyingi harakatlari quyidagicha bo'lishi mumkin. Birinchidan, uchinchi Foydalanuvchining talablarini qondirish, keyin ishni tugatishni kuting va uchta qurilmani bo'shating. Keyin birinchi va ikkinchi foydalanuvchilarga xizmat qilishingiz mumkin. Ya'ni, tizim faqat uni xavfsiz holatda qoldiradigan va qolganlarini rad etadigan so'rovlarni qondiradi.
Ishonchsiz davlat atamasi, albatta, o'lik holatlar paydo bo'lishini nazarda tutmaydi. U faqat voqealarning noqulay ketma-ketligi holatida tizim to'xtab qolishi mumkinligini aytadi.
Ushbu algoritm, uni ishlatganda resurslarni qayta taqsimlash va jarayonlarni orqaga qaytarishning hojati yo'qligini qadrlaydi. Biroq, ushbu usuldan foydalanish bir qator shartlarni bajarishni talab qiladi.
Foydalanuvchilar soni va resurslar soni qayd etilgan.
Ishlaydigan foydalanuvchilar soni doimiy bo'lishi kerak.
Algoritm mijozlarga resurslarni qaytarib berishni talab qiladi.
Resurs jarayonlarining maksimal talablari oldindan belgilanishi kerak. Ko'pincha bu ma'lumot yo'q.
Bunday qattiq va tez-tez qabul qilinadigan talablarning mavjudligi ishlab chiquvchilarni o'zaro qulflash muammosiga boshqa echimlarni tanlashga undashi mumkin.
Do'stlaringiz bilan baham: |