Kirish Tugatish shartlari


O'zaro chiqarib tashlash shartini buzish


Download 44.73 Kb.
bet5/8
Sana06.01.2023
Hajmi44.73 Kb.
#1080998
1   2   3   4   5   6   7   8
Bog'liq
Mustaqil ish v-14 (2)

O'zaro chiqarib tashlash shartini buzish. Umuman olganda, o'zaro kelishmovchiliklardan qochish mumkin emas. Ba'zi resurslarga kirish alohida bo'lishi kerak. Shunga qaramay, ba'zi qurilmalar mavjud. Misol sifatida, printerni ko'rib chiqaylik. Ma'lumki, printerda bir nechta jarayonlar chiqishi mumkin. Betartiblikni oldini olish uchun diskdagi barcha chiqish jarayonining oraliq shakllanishi, ya'ni ajratilgan qurilma tashkil etiladi. Printerni chop etish uchun hujjatlarni chiqarish uchun mas'ul bo'lgan printerning xizmati yoki jini deb ataladigan bitta tizim jarayoni, albatta, u bilan muloqot qiladi. Ushbu sxema spuling (spooling) deb ataladi. Shunday qilib, printer birgalikda qurilma bo'lib qoladi va uning uchun tupik oxiri yo'q qilinadi. Afsuski, barcha qurilmalar uchun emas, balki barcha ma'lumotlar uchun spulingni tashkil qilish mumkin emas. Bunday modelning yoqimsiz yon ta'siri spuling tampon uchun disk maydoni uchun raqobat tufayli yuzaga kelishi mumkin bo'lgan tupik holat bo'lishi mumkin. Shunga qaramay, bu fikr ko'pincha bir shaklda qo'llaniladi.
Qo'shimcha manbalarni kutish shartini buzish
Resurslarni kutish shartlari ikki bosqichli ta'qib qilish strategiyasini talab qilib, oldini olish mumkin. Birinchi bosqichda jarayon bir vaqtning o'zida zarur bo'lgan barcha resurslarni talab qilishi kerak. Ular taqdim etilmaguncha, jarayon davom eta olmaydi. Agar birinchi bosqichda ushbu jarayonga muhtoj bo'lgan ayrim resurslar allaqachon boshqa jarayonlar bilan mashg'ul bo'lsa, unga ajratilgan barcha resurslarni ozod qiladi va birinchi bosqichni takrorlashga harakat qiladi. Bir ma'noda, bu yondashuv barcha resurslarni oldindan qo'lga kiritish talabini eslatadi. Tabiiyki, faqat maxsus tashkil etilgan dasturlar birinchi bosqichda to'xtatilishi va keyinchalik qayta tiklanishi mumkin.
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.

Download 44.73 Kb.

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




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