O`zbekiston respublikasi oliy va o`rta maxsus ta`lim vazirligi qarshi innovatsion ta’lim universiteti
Semafordan foydalanib , biz bo'limni bajarishdan oldin bajarilishi bilan tugaguncha kutishlarini kafolatlaymiz
Download 0.83 Mb.
|
Semaforalar
- Bu sahifa navigatsiya:
- 5.4. Chegaralangan bufer ishlab chiqaruvchi-istemolchi muammosi
Semafordan foydalanib , biz bo'limni bajarishdan oldin bajarilishi bilan tugaguncha kutishlarini kafolatlaymiz .
5.3. Ishlab chiqaruvchi-iste'molchi muammosiKeling, taniqli ishlab chiqaruvchi-iste'molchi muammosini ko'rib chiqaylik. Bu muammoda hujayralardan iborat cheklangan bufer mavjud . Boshqacha qilib aytganda, bufer maksimal elementlarni saqlashi mumkin. Buferga ikkita jarayon kiradi, xususan: va . Ushbu muammoni hal qilish uchun biz to'liq hujayralar sonini ifodalovchi hisoblash semaforidan foydalanamiz: Dastlab, . Ishlab chiqaruvchi elementni buferga joylashtirganda, u signal operatsiyasi orqali semaforni oshiradi. Aksincha, iste'molchi biror narsani iste'mol qilganda, kutish operatsiyasi bilan semafor kamayadi. Iste'molchi buferdagi oxirgi elementdan foydalansa, oxirgi kutish operatsiyasi bilan u uyqu rejimiga o'tkaziladi. 5.4. Chegaralangan bufer ishlab chiqaruvchi-iste'molchi muammosiYuqoridagi yechimning ustiga, agar bufer to'lgan bo'lsa, yana ikkita semafor qo'shish orqali ishlab chiqaruvchini uxlashga majburlashimiz mumkin. Aytaylik, biz buferdagi mavjud hujayralar sonini ifodalovchi semaforni kiritamiz . Shuningdek, biz buferdagi to'liq hujayralar sonini ifodalovchi semaforni ham kiritamiz . Bunday holda, biz buferda semafordan foydalanamiz. Shunga qaramay, ishlab chiqaruvchi va iste'molchi jarayoni bir vaqtning o'zida ishlaydi. Biz ishlab chiqaruvchi va iste'molchi kodini semaforlarni kiritish uchun o'zgartiramiz: Bu erda hisoblash semafori to'liq hujayralar sonini, hisoblash semafori esa cheklangan buferda mavjud bo'lgan hujayralar sonini ifodalaydi. Bundan tashqari, S semafori buferni bir vaqtda kirishdan himoya qiladi. Keling, avvalo ishlab chiqaruvchining xatti-harakatlarini kuzatamiz: Agar semafor 0 ga aylansa, ishlab chiqaruvchi uyquga ketadi, chunki buferda bo'sh hujayralar qolmaydi. Bundan tashqari, ishlab chiqaruvchi buferga kirishdan oldin semaforda kutadi . Agar boshqa jarayon allaqachon kutilayotgan bo'lsa , u uyqu rejimiga o'tadi. Yangi mahsulotni ishlab chiqargandan so'ng, ishlab chiqaruvchi semaforga signal beradi, shuning uchun har qanday mumkin bo'lgan iste'molchilarni kutish jarayonlarini uyg'otadi. Xuddi shunday, iste'molchi bir xil semaforlardan foydalanadi: Agar semafor nolga teng bo'lsa, buferda hech qanday element kutilmaydi. Iste'molchi uxlaydi. Kutish operatsiyasi yoqilgan bo'lsa, buferga ma'lum bir vaqtda faqat bitta jarayon orqali kirishni ta'minlaydi. Shunday qilib, yoqilgan signal kutayotgan jarayonlarni uyg'otadi. Va nihoyat, semafordagi signal buferga qo'yish uchun biror narsaga ega bo'lgan har qanday ishlab chiqaruvchini uyg'otadi. Oxir-oqibat, iste'molchi keyingi mahsulotni iste'mol qilishga tayyor. 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