Kirish Tugatish shartlari Tupiklar muammosiga e'tibor bermaslik Qayta taqsimlanmaslik printsipining buzilishi


Download 42.18 Kb.
bet7/7
Sana19.06.2023
Hajmi42.18 Kb.
#1608703
1   2   3   4   5   6   7
Bog'liq
mustaqil ish

Tupiklarni aniqlash.
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.
Tupiklardan qutulish.
O'lik oxiri topgach, siz undan chiqib ketishingiz mumkin, bu o'lik hayotning shartlaridan birini buzadi. Bunday holda, ehtimol, bir nechta jarayonlar bajarilgan ishlarning natijalarini qisman yoki to'liq yo'qotadi.
Tiklanishning murakkabligi bir qator omillarga bog'liq.
Ko'pgina tizimlarda jarayonni to'xtatish, uni tizimdan olib tashlash va keyinchalik to'xtatilgan joydan davom ettirish uchun etarli samarali vositalar mavjud emas.
Agar bunday vositalar bo'lsa ham, ulardan foydalanish operatorning xarajatlari va e'tiborini talab qiladi.
Keyinchalik tiklanishni tiklash katta kuch talab qilishi mumkin.
To'siqni bartaraf etishning eng oson va eng keng tarqalgan usuli, keyinchalik uning resurslaridan foydalanish uchun bir yoki bir nechta jarayonlarning bajarilishini yakunlashdir. Keyin omad tilaymiz, qolgan jarayonlar amalga oshirilishi mumkin. Agar bu yordam bermasa, bir nechta jarayonlarni bartaraf etish mumkin. Har bir tugatishdan so'ng, o'lik oxiri aniqlash algoritmi ishga tushishi kerak.
Iloji bo'lsa, eng yaxshi (bunday jarayonlar idempotentnymi deb ataladi) zarar etkazmagan holda qaytib kelishi mumkin jarayonini bartaraf qilish.... Bunday jarayonning misoli kompilyatsiya bo'lishi mumkin. Boshqa tomondan, ma'lumotlar bazasi mazmunini o'zgartiradi jarayoni har doim to'g'ri qayta boshlash mumkin emas.
Ba'zi hollarda, siz vaqtincha joriy egasi bir resurs pick up va boshqa jarayon uchun uni o'tkazishingiz mumkin. Jarayondan resursni olish, uni boshqa jarayonga berish va keyinchalik uni qaytarib olishni buzmasdan, resursning tabiatiga bog'liq. Bunday tiklash ko'pincha qiyin, agar imkonsiz bo'lsa
Bir qator tizimlar nazorat punktidan (tizimning holatini bir nuqtada saqlab qolish) qayta tiklash va qayta ishga tushirish yoki qayta tiklash vositalarini amalga oshiradi. Agar tizim dizaynerlari o'lik holatda bo'lishi mumkinligini bilsalar, ular vaqti-vaqti bilan jarayonlar uchun nazorat nuqtalarini tashkil qilishlari mumkin. Ba'zan bu dastur dasturlarini ishlab chiquvchilar tomonidan amalga oshirilishi kerak.
O'lik oxiri aniqlanganda, dumaloq kutish aylanishiga qanday resurslar jalb qilinganligi aniq. Qayta tiklashni amalga oshirish uchun bunday resursga ega bo'lgan jarayon ushbu resursga bo'lgan talabidan oldingi vaqtga qoldirilishi kerak.

Xulosa
O'lik uchlari paydo har qanday operatsion tizimi potentsial muammo hisoblanadi. Ular bir guruh jarayonlar mavjud bo'lganda paydo bo'ladi, ularning har biri ayrim resurslarga alohida kirishga harakat qiladi va boshqa jarayonga tegishli resurslarni talab qiladi. Oxir-oqibat, ularning barchasi cheksiz kutish holatida.




O'lik uchlari bilan kurashishingiz mumkin, siz ularni aniqlab olishingiz, oldini olishingiz va tizimdan so'ng tizimni tiklashingiz mumkin. Biroq, bunday harakatlarning narxi yuqori va tegishli harakatlar faqat o'lik holatlarga e'tibor bermaslik halokatli oqibatlarga olib keladigan tizimlarda amalga oshirilishi kerak.
Download 42.18 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