O`zbekiston respublikasi oliy va o`rta maxsus ta`lim vazirligi qarshi innovatsion ta’lim universiteti
Download 0.83 Mb.
|
Semaforalar
- Bu sahifa navigatsiya:
- 5. Semaforlar harakatda
- 5.2. Buyurtmani bajarishda
4.3. Prioritet inversiyasiSemaforlardan samarasiz foydalanish natijasida yuzaga kelishi mumkin bo'lgan yana bir muammo bu ustuvor inversiyadir. Prioritet inversiyasi pastroq ustuvor ish yuqoriroq vazifaga nisbatan ustunlik qilganda sodir bo'ladi. Tasavvur qilaylik, past ustuvor jarayon semaforni ushlab turishdir, bu esa yuqoriroq ustuvor jarayon uchun zarurdir. Bundan tashqari, rejalashtiruvchi navbatda o'rtacha ustuvor jarayon kutmoqda deb taxmin qiling: Bunday holda, yadro yuqori ustuvorlikni bloklaydigan past ustuvor jarayonni rejalashtirmaydi. Buning o'rniga, yadro o'rtacha ustuvor vazifani bajaradi, bu esa yuqori ustuvor vazifani kutishda davom etadi. Mumkin yechim semaforlarda ustuvor merosdan foydalanishdir. 5. Semaforlar harakatdaEndi biz semafor nima ekanligini aniqlaganimizdan so'ng, keling, semaforlardan foydalanish holatlarini ko'rib chiqamiz. 5.1. Kritik bo'lim muammosiMuhim bo'lim dastur kodining bir qismi bo'lib, biz bir vaqtning o'zida kirishni oldini olishni xohlaymiz. Kritik bo'lim masalasini hal qilish uchun ikkilik semafordan foydalanishimiz mumkin. Bunday holda, semaforning boshlang'ich qiymati yadroda 1 ga teng: Yuqoridagi misolda biz muhim bo'limga kirishda o'zaro istisno qilishni kafolatlaymiz. Kutish bilan band bo'lish o'rniga, kutish jarayoni uxlamoqda, chunki u muhim bo'limda o'z navbatini kutmoqda. Keyin signal operatsiyasi amalga oshiriladi, yadro tayyor navbatga uyqu jarayonini qo'shadi. Agar yadro jarayonni bajarishga qaror qilsa, u muhim bo'limda davom etadi. Shunday qilib, biz istalgan vaqtda faqat bitta jarayon muhim qismda bo'lishini ta'minlaymiz. 5.2. Buyurtmani bajarishdaFaraz qilaylik, biz kod fragmentini dan oldin bajarmoqchimiz . Boshqacha qilib aytadigan bo'lsak, biz bajarilishini tugatguncha kutishni xohlaymiz : Biz bu muammoni dastlabki qiymati 0 ga o'rnatilgan semafor yordamida osonlikcha engib o'tishimiz mumkin. Keling, kodni o'zgartiramiz: Download 0.83 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling