Guruh talabasi Raxmatillo Toxirovning mustqail ishi “Operatsion tizimlar ” fanidan


Qayta taqsimlanmaslik printsipining buzilishi


Download 0.56 Mb.
bet5/7
Sana16.06.2023
Hajmi0.56 Mb.
#1490175
1   2   3   4   5   6   7
Bog'liq
T8KM2TpFg3pIngrbDufetqiBzjnLR5Po

Qayta taqsimlanmaslik printsipining buzilishi.
Agar ushbu jarayonlarni yakunlashdan oldin ularni ushlab turgan jarayonlardan resurslarni tanlash mumkin bo'lsa, unda uchinchi holat to'xtab qolishining bajarilmasligiga erishish mumkin bo'ladi. Keling, ushbu yondashuvning kamchiliklarini keltiraylik.
Birinchidan, jarayonlar faqat davlatni saqlab qolish oson bo'lgan resurslarni tanlashi va keyinchalik, masalan, protsessor holatini tiklashi mumkin. Ikkinchidan, agar jarayon bir muncha vaqtdan beri muayyan resurslardan foydalansa va keyinchalik ushbu resurslarni ozod qilsa, u hozirgi kunga qadar amalga oshirilgan ishlarning natijalarini yo'qotishi mumkin. Nihoyat, ushbu sxemaning natijasi resurslarni doimiy ravishda tanlab olgan ayrim jarayonlarni kamsitish bo'lishi mumkin.
Agar resurslarni tanlash zarurati tez-tez sodir bo'lsa, juda yuqori bo'lishi mumkin, bunday qaror, narxi butun savol.

Shunday qilib, bitta usul-barcha jarayonlarni bajarishdan oldin kerakli resurslarni talab qilish ("hamma narsa yoki hech narsa"). Agar tizim jarayonni zarur bo'lgan hamma narsani ta'kidlay olsa, u tugagunga qadar ishlashi mumkin. Agar kamida bitta resurs band bo'lsa, jarayon kutadi.


Ushbu yechim ommaviy mainframe (mainframe) da qo'llaniladi, bu esa foydalanuvchilarga barcha kerakli resurslarni ro'yxatga olishni talab qiladi. Yana bir misol DBMS yozuvlar ikki fazali mahalliylashtirish mexanizmi hisoblanadi. Biroq, umuman olganda, bunday yondashuv juda jozibali emas va kompyuterdan samarasiz foydalanishga olib keladi. Yuqorida aytib o'tilganidek, resurslar uchun kelajakdagi so'rovlar ro'yxati kamdan-kam hollarda taxmin qilinadi. Agar bunday ma'lumot bo'lsa, bankirning algoritmidan foydalanishingiz mumkin. Shuni ham ta'kidlash kerakki, ta'riflangan yondashuv dasturlashda modulyarlikning paradigmasiga zid keladi, chunki dastur barcha modullarda resurslar uchun mo'ljallangan so'rovlar haqida bilishi kerak.


Dumaloq holatni buzish.
"O'lik uchlari" bo'limidan so'nggi shartlardan qochish uchun oqilona strategiyani taklif qilish qiyin – bu davriy kutish. Buning bir usuli-resurslarni tartibga solish. Misol uchun, barcha resurslarga noyob raqamlar berilishi mumkin va jarayonlarning ortib borayotgan tartibda resurslarni talab qilishini talab qilish mumkin. Keyin dumaloq kutish mumkin emas. Oxirgi so'rovdan so'ng va barcha resurslarni ozod qilgandan so'ng, jarayon yana birinchi so'rovni amalga oshirishga ruxsat berilishi mumkin. Shubhasiz, barchani qondiradigan tartibni topish deyarli mumkin emas.
Resurslarni tartibga solishning bir nechta misolidan biri Windows 2000-da Spin-Lock ierarxiyasini yaratishdir. Spin-Lock-sinxronlashning eng oddiy usuli (jarayonlarni sinxronlashtirish masalalari tegishli ma'ruzada ko'rib chiqiladi). Spin-Lock jarayoni bilan qo'lga olinishi va ozod qilinishi mumkin. P1 jarayoni S1 Spin-qulfini ushlab turganda va S2 Spin-Lock va P2 jarayonini talab qilganda, S2 Spin-Lockni ushlab turganda va S1 Spin-Lock-ni qo'shimcha ravishda qo'lga kiritmoqchi bo'lganida klassik o'lik holat yuzaga keladi. Bunga yo'l qo'ymaslik uchun barcha Spin-qulflar tartiblangan ro'yxatga joylashtiriladi. Ta'qib qilish faqat ro'yxatda ko'rsatilgan tartibda amalga oshirilishi mumkin.
Hujumning yana bir usuli dumaloq kutish shartlari har bir jarayonning har bir daqiqada faqat bitta resursga ega bo'lishi mumkin bo'lgan qoidaga muvofiq harakat qilishdir. Agar ikkinchi resurs kerak bo'lsa-birinchi ozod. Shubhasiz, ko'plab jarayonlar uchun bu qabul qilinishi mumkin emas.
Shunday qilib, tsiklik kutishning oldini olish texnologiyasi odatda samarasiz va resurslarga kirishni yopmasdan yopilishi mumkin.
O'zaro blokirovkalarni aniqlash o'lik vaziyatni aniqlash va unga aloqador jarayonlarni aniqlash uchun kamayadi. Buning uchun dastlabki uchta o'lik holat yuzaga kelgan hollarda tsiklik kutish mavjudligini tekshirish amalga oshiriladi. Aniqlash usullari resurslarni taqsimlash grafikalaridan faol foydalanadi.
Model holatini ko'rib chiqing.
P1 jarayoni R1 resursini kutmoqda.
P2 jarayoni R2 resursini saqlaydi va R1 resursini kutadi.
P3 jarayoni R1 resursini saqlaydi va R3 resursini kutadi.
P4 jarayoni R2 resursini kutmoqda.
P5 jarayoni R3 resursini saqlaydi va R2 resursini kutadi.
Savol, bu holat o'lik yoki yo'qligini va agar shunday bo'lsa, unda qanday jarayonlar mavjud. Bu savolga javob berish uchun siz rasmda ko'rsatilganidek, resurslarning grafigini loyihalashingiz mumkin. 7.3. Rasmdan ko'rinib turibdiki, dumaloq kutish holatini simulyatsiya qilish va P2, P3, P5 va ehtimol boshqalar o'lik holatda bo'lgan jarayonlar mavjud.
Ko'rinib turibdiki, o'lik oxiri borligini aniqlash oson, lekin kompyuterda amalga oshiriladigan rasmiy algoritmlarga ham ehtiyoj bor.
Bunday algoritmlardan biri [Tanenbaum, 2002] da tasvirlangan, u erda boshqa algoritmlarga havolalar mavjud.

Har bir turdagi bir nechta resurslar mavjud bo'lgan holatlarda ham o'lik halokatlarni aniqlashning boshqa usullari mavjud. Shunday qilib, [Deutel, 1987] resurs taqsimoti grafigini kamaytirish deb nomlangan usulni va [Tanenbaum, 2002] da matritsali algoritmni tasvirlaydi.

Download 0.56 Mb.

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