Ma'ruza 13. Real vaqt tizimidagi vazifalar. RTOS vazifalarini boshqarish. Rejalashtirish vazifalari. Kontekst o'zgarishi. To'xtatish.
Reja:
Vazifalarni boshqarish (jarayonlar, uzilishlar bilan ishlash tartiblari) har qanday operatsion tizimning muhim funktsiyasidir. Bu operatsion tizimni real vaqtda tizimga aylantiradigan vazifalarni rejalashtirish va uzilishlarni boshqarish protseduralarining o'ziga xos mexanizmi.
Vazifalarni rejalashtirish
Vazifalarni rejalashtirish zarurati faol (tayyor) vazifalar (ko'p protsessorli tizimlarda mavjud protsessorlar sonidan ko'proq) qatorida bir nechta vazifalar paydo bo'lishi bilanoq paydo bo'ladi. Vazifalarni rejalashtirish algoritmi real vaqt tizimlari va "oddiy" operatsion tizimlar o'rtasidagi asosiy farqdir. Ikkinchisida, rejalashtirishning maqsadi tayyor vazifalar qatoridagi barcha vazifalarning bajarilishini ta'minlash, ularning parallel ishlashi illyuziyasini ta'minlash va biron bir vazifani protsessorni monopollashtirishga yo'l qo'ymaslikdir. RTOS-da rejalashtirishning maqsadi har bir tugallangan ishning ma'lum bir vaqtning o'zida bajarilishini ta'minlashdir , ko'pincha vazifalarning "parallelligi" ga yo'l qo'yilmaydi, chunki vazifani bajarish vaqti boshqa vazifalar mavjudligiga bog'liq bo'ladi.
RTOS-da vazifalarni rejalashtirishda eng muhim talab - bu vazifaning ishlash vaqtini prognoz qilishdir. Bu vaqt joriy tizim yukiga, kutish navbatlaridagi vazifalar soniga (protsessor, semafor, hodisa, ...) va hokazolarga bog'liq bo'lmasligi kerak. Shu bilan birga, bu navbatlarning uzunligi cheklanmagan bo'lishi maqsadga muvofiqdir (ya'ni, faqat tizimda mavjud bo'lgan xotira miqdori bilan cheklanadi).
Ta'rif. Vazifalarni rejalashtiruvchi (rejalashtiruvchi) mavjud protsessorlar vaqtini ishlaydigan vazifalar o'rtasida taqsimlash uchun mas'ul bo'lgan modul (dastur). Vazifalarni blokirovkalash holatidan tayyor holatga o'tkazish va protsessor (lar) tomonidan bajarishga tayyor bo'lganlar orasidan vazifani (topshiriqlar - protsessorlar soni bo'yicha) tanlash uchun javobgardir.
Ko'p protsessorli tizimlarda tayyor vazifa navbatlari soni (kutish navbatlari) tizim arxitekturasining turiga bog'liq bo'lishi mumkin. Simmetrik ko'p protsessorli tizimlarda (SMP, Symmetric Multiprocessor tizimlari) odatda barcha protsessorlar uchun bitta kutish navbati mavjud. Boshqa tizimlar har bir protsessor uchun bitta navbatga ega bo'lishi mumkin (yoki SMP tizimini tashkil etuvchi protsessorlar guruhi uchun bitta navbat).
Ustuvorliklar
Eslatib o'tamiz, ustuvorlik har bir jarayon va vazifaga operatsion tizim (ya'ni, vazifalarni rejalashtiruvchi) tomonidan tayinlangan raqamdir. Bir nechta ustuvorlik sxemalari mavjud.
Ruxsat etilgan ustuvorliklar - ustuvorlik vazifa yaratilganda belgilanadi va uning amal qilish muddati davomida o'zgarmaydi. Ushbu sxema turli xil qo'shimchalar bilan ko'pchilik real vaqt tizimlarida qo'llaniladi. RTOS rejalashtirish sxemalari ko'pincha har bir vazifaning o'ziga xos ustuvorligini talab qiladi, shuning uchun RTOS ko'pincha ko'p sonli ustuvorliklarga ega (odatda 255 yoki undan ko'p).
Do'stlaringiz bilan baham: |