13,14 – ma’ruza. Operatsion tizimlarda tupik (deadlock) tushunchasi


Download 0.53 Mb.
bet5/6
Sana17.06.2023
Hajmi0.53 Mb.
#1547710
1   2   3   4   5   6
Bog'liq
13,14 - маъруза

7.7.2. Orqaga qaytarish orqali tiklash
Agar tizim ishlab chiquvchilari va kompyuter operatorlari o'zaro berk hodisa qilish ehtimoli borligini bilsalar, ular nazorat nuqtalarining davriy yaratilishini tashkil qilishlari mumkin. Bu shuni anglatadiki, jarayonning holati faylga yoziladi, va uning qayta ishga tushirilishiga imkon beradi. Nazorat nuqtalari nafaqat xotira tasvirini, balki resurslarning holatini, ya'ni hozirgi paytda qaysi resurslar jarayonga ajratilgani haqida ma'lumot beradi. Keyinchalik samaradorlik uchun yangi nazorat nuqtasi eski faylning ustiga emas, balki yangi faylga yozilishi kerak, jarayonni bajarish davomida tekshiruv punktlarining butun ketma-ketligi yig'iladi.
Agar o`zaro qulflanish aniqlansa, qanday resurslarga ehtiyoj borligini aniqlash oson. O'zaro berk hodisadan chiqish uchun kerakli resursga ega bo'lgan jarayon ushbu resursni olishdan oldingi nuqtaga qaytib, u o'z nazorat punktlaridan birida ishga tushirildi. Ushbu nazorat nuqtasidan keyin amalga oshirilgan barcha ishlar yo'qoladi (masalan, ushbu nazorat nuqtasidan keyin chop etilgan barcha chiqish ma'lumotlari qayta chop etilishi kerak). Aslida, bu jarayon, hozirgi vaqtda o'zaro berk hodisada ishtirok etadigan jarayonlardan biriga ajratilgan resursga ega bo'lmagan avvalgi nuqtaga qaytadi. Qayta ishga tushirilgan jarayon yana resursni olishga harakat qilsa, u mavjud bo'lgunga qadar kutish kerak.
7.7.3 Jarayonlarni yo'q qilish orqali tiklash
O'zaro berk hodisa qilishni to'xtatishning eng qo'pol, ammo eng oson usuli-bir yoki bir nechta jarayonlarni yo'q qilishdir. O'zaro qulflash jarayonida bo'lgan jarayonni yo'q qilish mumkin. Agar omadingiz bo'lsa, boshqa jarayonlar o'z ishlarini davom ettirishi mumkin. Agar bu yordam bermasa, tsikl uzilib qolguncha hamma narsatsh takrorlash mumkin.
Shu bilan bir qatorda, jabrlanuvchi tomonidan tanlangan resurslarni ozod qilish uchun tsiklda bo'lmagan jarayonni tanlash mumkin. Ushbu yondashuv bilan yo`q qilinadigan jarayon juda ehtiyotkorlik bilan tanlanadi, chunki u tsikldagi ba'zi jarayonlar uchun zarur bo'lgan resurslarni saqlab turishi kerak. Misol uchun, bitta jarayon printerni ushlab turishi va plotterni talab qilishi mumkin, ikkinchisi esa plotterni ushlab turishi va printerni so'rashi mumkin. Ularning ikkalasi ham o`zaro qulf holatida. Uchinchi jarayon boshqa bir printerni va boshqa bir plotterni ushlab turishi va muvaffaqiyatli ishlashi mumkin. Uchinchi jarayonni yo'q qilish bu resurslarni bo'shatilishiga olib keladi va dastlabki ikki jarayonning o'zaro bloklanishini yo'q qiladi.
Iloji bo'lsa, boshidan qayta boshlash mumkin bo'lgan jarayonni o'ldirish yaxshiroqdir. Misol uchun, kompilyatsiya har doim qayta boshlanishi mumkin, chunki u hamma kirish faylini o'qiydi va ob'ekt faylini yaratadi. Agar kompilyatsiya jarayoni yarim yo'lda vayron bo'lsa, birinchi ishga tushirish ikkinchisiga ta'sir qilmaydi.
Ammo ma'lumotlar bazasini yangilash jarayoni har doim ham xavfsiz tarzda ikkinchi marta ishga tushirilmaydi. Agar jarayon ma'lumotlar bazasi jadvalining har qanday yozuviga birlikni qo'shsa, uning dastlabki ishga tushirilishi, yo'q qilinishi va keyin qayta ishga tushirilishi noto'g'ri natijaga olib keladi, chunki maydonga ikkilik qo'shiladi.

Download 0.53 Mb.

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




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