21-Maruza.
Mavzu: RVOT rejalashtirish masalalari. Kontekstli o’zgarish. Uzilishlar.
Reja:
1.RVOT rejalashtirish masalalari
2.Konsektual o’zgarish
3.Uzilishlar
RVOT rejalashtirish masalalari
Belgilangan muddatlar muammosiga bog'liq holda, RVOTda asosiy muammo barcha holatlarda tizimning taxminiy harakatlarini ta'minlaydigan rejalashtirishdir. Belgilangan muddatni o'z ichiga olgan jarayonlar boshlanishi va amalga oshirilishi uchun uning muddatini hech qoldirmasligi kerak. Agar buning iloji bo'lmasa, jarayon rad etilishi kerak.RVOTda rejalashtirish muammolari bilan bog'liq ravishda ikkita yondashuv - statik rejalashtirish algoritmlari (RMS) - Monotonik rejalashtirish (LL73) va dinamik rejalashtirish algoritmlari (EDF - eng erta muddat oldin) o'rganiladi.RTOSda rejalashtirish muammolari bilan bog'liq ravishda ikkita yondashuv - statik rejalashtirish algoritmlari (RMS) - Monotonik rejalashtirish (LL73) va dinamik rejalashtirish algoritmlari (EDF - eng erta muddat oldin) o'rganiladi.RMS tizimning taxminiyligini rasman tasdiqlash uchun ishlatiladi. Ushbu nazariyani amalga oshirish uchun siz preemptiv birinchi o'ringa rejalashtirish asosida rejalashtirishingiz kerak. RMS nazariyasida har bir jarayonga ustuvorlik beriladi. Jarayonlar quyidagi shartlarni bajarishi kerak:jarayon o'z davri davomida bajarilishi kerak,jarayonlari bir-biriga bog'liq emas,har bir operatsiya har bir intervalda bir xil CPU vaqtini talab qiladi,davriy bo'lmagan jarayonlarda qattiq atama mavjud emas,jarayon cheklangan vaqt uchun to'xtatiladi.
Ushbu jarayonlar ustuvorliklarga muvofiq amalga oshiriladi. RMS ni rejalashtirganda, eng qisqa ijro etuvchi davrlarga ega bo'lgan vazifalarga imtiyoz beriladi.
EDFda ustuvorlik dinamik ravishda belgilanadi va eng yuqori ustunlik eng qisqa ijro etuvchi vaqtga ega jarayonga o'rnatiladi. Katta tizim yuklari uchun EDF RMS orqali afzalliklarga ega.
Barcha real vaqtda tizimlar muddatga asoslangan rejalashtirish siyosatini talab qiladi. Biroq, bu yondashuv ishlab chiqilmoqda.
Odatda RVOT rejalashtirishni RMS ga asoslangan xizmatni to'xtatadigan ustuvorliklar bilan foydalanadi. Eng muhim xizmat ko'rsatishni to'xtatish (preemptption) RVOTning ajralmas qismi hisoblanadi. real vaqt rejimida yuqori ustuvorli hodisaning pastroq ustuvor hodisadan oldin qayta ishlanishi kafolatlanishi kerak.
Bularning barchasi RVOTga parvarish qilishni to'xtatadigan ustuvor yo'nalishlarga asoslangan rejalashtirish mexanizmiga emas, balki tegishli uzilishni boshqarish mexanizmiga ham ehtiyoj bor. Bundan tashšari, RVOT to'xtatilmaydigan kritik kodni bajarish kerak bœlganda uzilishlar ta'qiqlashi kerak. Chiqib ketish jarayonining davomiyligi minimal darajada saqlanishi kerak.
RVOTda ishlab chiqilgan ustuvor tizimga ega bo'lishi kerak. Birinchisi, tizimning o'zi ishlovchilarga bo'linadigan bir qator server ilovalari sifatida ko'rib chiqilishi mumkin va tizim jarayonlari va ish zarrachalariga bir nechta yuqori ustuvorlik darajalari ajratilishi kerak. Ikkinchidan, murakkab dasturlarda barcha real vaqtda oqimlar turli ustuvor darajalarda joylashtirilishi kerak va real vaqtda bo'lmagan oqimlarni bir darajaga (har qanday real vaqtda oqimlardan past) joylashtirish kerak.
Bunday holatda real vaqtda oqimlar RRS (yumaloq robin rejalashtirish) rejimida ishlov berilishi mumkin, bu jarayonda har bir jarayon CPU vaqtli bo'lak bilan ta'minlanadi va kvant tugashi bilan jarayon tarkibi saqlanadi va navbatning oxiriga joylashtiriladi. Ko'pgina RVOTda RRS vazifalarni bir xil darajada rejalashtirish uchun foydalaniladi. Odatdagidek 0 darajasi odatda bo'sh rejimda ishlatiladi.
Vazifalar asosida rejalashtirilayotganda ikkita majburiy muammoni hal qilish kerak:
Jarayonning eng yuqori darajada bajarilishini ta'minlash.
Yuqori ustuvorliklarga ega vazifalar kam ustuvorliklarga ega bo'lgan vazifalar bilan qamrab olingan resurslarni kutayotganda ustunliklarni o'zgartirishga yo'l qo'ymaslik.
RVOTda ustuvor inversiyaga qarshi kurashish uchun ustuvor meros mexanizmi tez-tez ishlatiladi, lekin ustuvorliklar dinamik bo'lganligi sababli siz RMS asosida rejalashtirishdan voz kechishingiz kerak.
Do'stlaringiz bilan baham: |