Jarayonlar o'zaro ta'sirini tashkil qilish uchun dasturiy algoritmlar
Algoritmga qo'yiladigan talablar.
o'zaro istisno
Muhim bo'limlarga ega bo'lgan jarayonlarning to'g'ri o'zaro ta'sirini tashkil qilish uchun yaxshi algoritm uchun 5 shart
vazifa sof dasturiy jihatdan hal qilinishi kerak. (mashinada o'zaro eksklyuziv dasturiy ta'minot mavjud emas)
ishlayotgan jarayonlarning tezligi nisbati to'g'risida taxminlar bo'lmasligi kerak
agar Pi jarayoni uning tanqidiy qismida ishlayotgan bo'lsa, unda boshqa muhim jarayonlar ham bo'lmaydi
ularning muhim sohalarida bo'lmagan va ularga kirishni istamaydigan jarayonlar boshqa jarayonlarning o'zlarining tanqidiy sohalariga kirishiga to'sqinlik qila olmaydi.
Sizning tanqidiy qismingizga kirishni kutib o'tirmaslik kerak.
To'xtatish taqiqlangan
while
{
Uzilishni taqiqlash
criticalsection
uzilishga ruxsat berish
remainedsection
}
Barcha jarayonlar uchun qulay bo'lgan o'zgaruvchi olinadi.
1. jarayon bu o'zgaruvchining qiymati 0 ga teng bo'lganda faqat muhim qismga kirish mumkin.
2. 0 -> 1 kiritilganda
3. boshqa jarayon 1 o'rnatilganligini ko'radi.
4. va boshqa bir jarayon 1-tanqidiy bo'limda ko'radi va unga kira olmaydi
u erda 0 paydo bo'lishi bilanoq, "kirish bepul"
5.3.3 Qat'iy o'zgarish
yopiq bo'limda jarayonlar navbat bilan kirib boradi.
Birgalikda burilish = 0;
while (some condition)
{
while (harm !=i);
critical section;
turn = 1-I;
remainder section;
}
o'zaro eksklyuziv apparat ta'minoti -
algoritmlarni soddalashtirish va samaradorligini oshirishga imkon beradi
protsessorlardagi ko'plab hisob-kitoblar sizga mashina so'zining ma'nosini tekshirish va o'zgartirishga imkon beradi.
Do'stlaringiz bilan baham: |