O`zbekiston respublikasi oliy va o`rta maxsus ta`lim vazirligi qarshi innovatsion ta’lim universiteti


Download 0.83 Mb.
bet3/7
Sana07.02.2023
Hajmi0.83 Mb.
#1176087
1   2   3   4   5   6   7
Bog'liq
Semaforalar

4.1. Tugallanishdan qochish


Bir guruh jarayonlar boshqa a'zoning harakatini kutayotgan holatda bloklanganda blokirovka sodir bo'ladi. Mumkin bo'lgan to'siqlardan qochish uchun biz semaforlarni qanday amalga oshirishimiz haqida ehtiyot bo'lishimiz kerak. Keling, o'lik holatini ko'rib chiqaylik:

Bu erda  va  alohida ishlashi kerak bo'lgan ba'zi kodlar mavjud. 
wait(  ) ni bajargan va shundan so'ng darhol uzilib qolgan holatni ko'rib chiqing .  Keyin yugurishni boshlaymiz, deylik . Dastlab,  semaforda kutadi  , keyin esa wait(  ) operatorida bloklanadi, shuning uchun u uyqu rejimiga o'tkaziladi.
Yadro  yana ishga tushganda navbatdagi operatsiya kutilmoqda (  ). Semafor  allaqachon tomonidan ishlatilayotganligi sababli  , endi bizda ikkala jarayon bir-birini kutayotgan vaziyat mavjud, shuning uchun boshi berk ko'chaga tushib qoldi.
Agar biz biron bir jarayonda chiziqlar tartibini o'zgartirib, umumiy tartibni qo'llasak, biz ushbu misoldagi boshlanishni o'tkazib yuboramiz. 

4.2. Ochlikdan qochish


Biz ehtiyot bo'lishimiz kerak bo'lgan keyingi kontseptsiya - ochlik. Ochlik jarayonni cheksiz blokirovka qilishni anglatadi. Misol uchun, o'lik vaziyat ba'zi jarayonlar uchun ochlik sabab bo'lishi mumkin. 
Mashhur ocharchilik misoli - faylasuflarning ovqatlanish muammosi, biz uni keyingi bo'limlarda ko'rib chiqamiz. Bu masalada beshta faylasuf dumaloq stol atrofida o‘tiribdi. Ular beshta tayoqchani baham ko'rishadi. Har bir faylasuf yo o'ylaydi yoki ovqatlanadi. Ovqatlanish uchun faylasufga ikkita tayoq kerak:

Bu faraziy muammo ochlikni ramziy qiladi. Agar faylasufning jarayoni tayoqchalarga kirish imkoni yo'qligi sababli abadiy to'sib qo'yilgan bo'lsa, u och qoladi.
Jarayonni sinxronlashtirishdan foydalanib, biz har bir jarayon ertami-kechmi xizmat ko'rsatishiga ishonch hosil qilishni xohlaymiz. 

Download 0.83 Mb.

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




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