Sinxronizatsiyalashda o'zaro istisno - Bunday hollarda kritik ma'lumotlar ta'sirini bartaraf etish uchun har qanday vaqtda ushbu ma'lumotlar bilan bog'liq bo'lgan kritik seksiyada faqat bitta oqim qolishini ta'minlash kerak.
- Tanlangan oqim faol yoki to'xtatilgan holatda bo'lishi muhim emas. Ushbu uslub o'zaro istisno deb ataladi.
- Bitta jarayonning oqimlarini sinxronlashtirish uchun dasturchi global blokirovka o'zgaruvchilaridan foydalanishi mumkin.
- Jarayonning barcha oqimlari to'g'ridan-to'g'ri kirish huquqiga ega bo'lgan ushbu o'zgaruvchilar bilan dasturchi OTning tizimli chaqiriqlariga murojaat qilmasdan ishlaydi.
- Kritik ma'lumotlarning har bir to'plamiga ikkilik o'zgaruvchi beriladi, u kritik seksiyaga kirganda unga oqim tomonidan 0 qiymat va undan chiqib ketganda 1 qiymat o’zlasjtirib beradi.
- Rasmda D kritik ma'lumotlariga kirishni o'zaro istisno qilishni amalga oshirish uchun blokirovka o'zgaruvchisi F(D) dan foydalanadigan oqim algoritmining bir qismini ko'rsatilgan. Kritik seksiyaga kirishdan oldin, oqim avval D ma'lumotlar bilan ishlayotgan yoki yo'qligini tekshiradi. Agar F(D) o'zgaruvchisi 0 ga o'rnatilgan bo'lsa, u holda ma'lumotlar band va tekshirish siklik takrorlanadi.
- Agar ma'lumotlar bo'sh bo'lsa (F(D) = 1), u holda F(D) o'zgaruvchining qiymati 0 ga o'rnatiladi va oqim kritik seksiyaga kiradi. Oqim D ma'lumotlari bilan barcha amallarni bajargandan so'ng, F(D) o'zgaruvchining qiymati yana 1 ga o'rnatiladi.
Sinxronizatsiyalash mexanizmlari - Sinxronizatsiya mexanizmlari – OT vositalaridan foydalangan holda sinxronizatsiyani amalga oshirishning yuqori darajadagi variantlaridir.
- Uning afzalligi - bu kritik seksiyaga kirishda kutish vaqtini hisobga olish imkoniyatidir.
- Ular kompilyatorlarda dasturlashtirilgan yoki apparat vositalaridan (semaforlar, monitorlar, xabarlar) foydalangan holda amalga oshiriladi.
Do'stlaringiz bilan baham: |