V (sbin):
Semaforlar apparat va dasturiy ta’minotda ham amalga oshirilishi mumkin
Semaforlar yordamida kritik boʻlim masalasini yechish. Semaforlar, birinchi navbatda, CS muammosini hal qilish mexanizmi sifatida ixtiro qilingan, bu ularning shartlarida juda tabiiy ravishda yozilgan (3-misol). Haqiqatan ham, CS ning erkin holatiga mos keladigan yagona boshlangʻich qiymatga ega boʻlgan ikkilik semafor mutex kritik boʻlim bilan bogʻlansin. Keyin mutex = 0 qiymati CS band ekanligini bildiradi. Operatsiya P (mutex) - 2 -misoldagi CS muammosining umumiy yechimidan kirish protokolining bool lock bayrogʻi uchun amalga oshirish. Oʻz navbatida V (mutex) operatsiyasi CS dan chiqish protokolini amalga oshiradi.
Semaforlardan foydalangan holda bir nechta resurslarni bir-biriga moslashtirishga xavfsiz kirishni ta’minlash. Bir-biriga oʻxshash manbalar toʻplamiga xavfsiz kirishni ta’minlash uchun semaforlardan foydalanishni koʻrsatadi.
2-misol. Semaforlar yordamida tanqidiy qism masalasini yechish
semafor: mutex=1 => КС boʻsh, mutex=0 => КС band
sem mutex=1;
thread CS (i=0;i
while (true)
{
P(mutex); //kirish protokoli
Kritik seksiya;
V(mutex); // chiqish protokoli
Kiritik boʻlmagan seksiya;
}
}
Do'stlaringiz bilan baham: |