Mustaqil ishi Mavzu: O’rnatilgan operatsion tizimlarda semaforlar


OT dagi semaforlar quyidagi xususiyatlarga ega


Download 479.79 Kb.
Pdf ko'rish
bet5/6
Sana27.01.2023
Hajmi479.79 Kb.
#1130640
1   2   3   4   5   6
Bog'liq
2-Mustaqil ishi

OT dagi semaforlar quyidagi xususiyatlarga ega


10 
struct ipc_perm sem_perm 
Kirish huquqlarining tavsifi 
struct sem *sem_base 
Semafora qatorining birinchi elementiga 
ishora 
ushort sem_nsems 
Guruhdagi semaforalar soni 
time_t sem_otime 
So'nggi foydalanish vaqti 
time_t sem_ctime 
So'nggi o'zgartirish vaqti 
Semaforlar ta’riflari 
Semafor yadro tomonidan qayta ishlanadigan butun qiymatli obyekt bo’lib, 
uning uchun quyidagi elementar amallar aniqlangan: 

semafor initsializatsiyasi, bu ish natijasida semaforga manfoy bo’lmagan 
qiymat ta’minlanadi: 

semafor qiymatini kamaytiruvchi P turdagi amal. Agar semaforning 
qiymati nolli belgidan kamaytirilsa, amalni bajarayotgan jarayon o’z ishini 
to’xtatadi; 

semaforning qiymatini oshiruvchi V turdagi amal. Agar semaforning 
qiymati amal bajarilishi natijasida 0 ga teng yoki undan katta bo’lsa, P amal 
bajarilishi vaqtida to’xtatilgan jarayonlardan biri to’xtatilgan holatdan chiqariladi; 

semafor qiymatini kamaytiruvchi va semaforning qiymati musbat holda 
qolgan holda “rost” mantiqiy qiymat qaytaruvchi P turidagi shartli amal (qisqacha 
CP – conditional P). Agar bu amal natijasida semafor qiymati manfiy yoki nol 
bo’lishi kerak bo’lsa, uning ustida hech qanday amal bajarilmaydi va amal “yolg’on” 
mantiqiy qiymat qaytaradi. 
Quyidagi 1-rasmda semaforlar qiymatiga murojaat qiladigan va uni 
o’zgartiradigan amallar keltirilgan. 


11 
1-rasm. Semaforlar qiymatiga murojaat qiladigan va uni o’zgartiradigan amallar 
Semaforlar resurslari soni cheklangan joy, masalan restorangagi o’rinlar soni 
sifatida tasavvur qilish mumkin. Agar restoranda o’rindiqlar soni 50 kishilik bo’lsa 
va boshqa hech kim bo’lmasa, u holda semafor 50 soni bilan initsializatsiya qilinadi. 
Restoranga kelgan har bir odam o’rindiqlar sonini bittaga kamaytiradi (restoran 
zahirasini bittaga kamaytiradi) va semaforaning qiymati kamayadi. Hamma 
o’rindiqlar band bo’lganda, semafor nol qiymatli bo’ladi va restoranga hech kim kira 
olmaydi. Umidli restoranga tashrif buyurganlar kimningdir ovqatlanib bo’lishini 
(o’rindiqlar zahirasining oshishini) kutadi. O’rin bo’shagach, semafor qiymati 
oshadi va o’rin zahirasi yana oshadi.
Semaforlarga faqat quyidagi amallar bilan murojaat qilish mumkin: wait() va 
signal(). wait() amali jarayon zahiraga murojaat qilishni hohasa chaqiriladi. Bu 
tashrif buyuruvchining bo’sh stolga o’tirishga urinishiga ekvivalent. Agar bo’sh 
o’rin bo’lmasa, yoki semafor noldan katta bo’lsa, u holda tashrif buyuruvchi zahirani 
band qilishi (o’tirishi) mumkin. Agar bo’sh o’rindiq bo’lmasa, unda semaforning 
qiymati nol bo’ladi va jarayon semaforning qiymati noldan katta bo’lishini kutadi. 
signal() amali jarayon zahiradan foydalanib bo’linganidan so’ng chaqiriladi. 
Quyidagi sxema semaforni sanash uchun qo’llaniladi: 

Download 479.79 Kb.

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




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