Mustaqil ish bajardi. 041-19 guruh talabasi Axmedov s vaqt doirasidagi asosiy operantlar


Vaqt doirasidagi asosiy operantlar-Umumiy maqsadli operatsion tizimlardan farqlari


Download 33.69 Kb.
bet3/3
Sana24.12.2022
Hajmi33.69 Kb.
#1064563
1   2   3
Bog'liq
mustaqil ish

Vaqt doirasidagi asosiy operantlar-Umumiy maqsadli operatsion tizimlardan farqlari
Ko'pgina umumiy maqsadli operatsion tizimlar ham yuqoridagi xizmatlarni qo'llab-quvvatlaydi. Biroq, RTOS asosiy xizmatlari o'rtasidagi asosiy farq deterministik bo'lib, qat'iy vaqt nazorati, ularning ish tabiatiga asoslangan. Bunday holda, determinizm deganda operatsion tizimning bitta xizmatining bajarilishi ma'lum davomiylik vaqt oralig'ini talab qilishi tushuniladi. Nazariy jihatdan, bu vaqtni matematik formulalar bilan hisoblash mumkin, ular qat'iy algebraik bo'lishi kerak va tasodifiy tabiatning hech qanday vaqt parametrlarini o'z ichiga olmaydi. RTOS-da topshiriqni bajarish vaqtini aniqlaydigan har qanday tasodifiy o'zgaruvchi dasturda istalmagan kechikishga olib kelishi mumkin, keyin keyingi vazifa uning vaqt oralig'iga mos kelmaydi, bu esa xatolikka olib keladi. [sakkiz]
Shu ma'noda, umumiy maqsadli operatsion tizimlar deterministik emas. Ularning xizmatlari ishda tasodifiy kechikishlarga yo'l qo'yishi mumkin, bu esa ma'lum noma'lum vaqtda foydalanuvchi harakatlariga ilovaning javobini sekinlashishiga olib kelishi mumkin. An'anaviy operatsion tizimlarni loyihalashda ishlab chiquvchilar ma'lum bir vazifa va xizmatni bajarish vaqtini hisoblash uchun matematik apparatga e'tibor bermaydilar. Bunday tizimlar uchun bu muhim emas. [sakkiz]
Ko'pgina RTOSlar quyidagi sxema bo'yicha vazifalarni rejalashtirishni amalga oshiradilar. [8] Ilovadagi har bir vazifaga ustuvorlik beriladi. Ustuvorlik qanchalik yuqori bo'lsa, vazifaning reaktivligi shunchalik yuqori bo'lishi kerak. Yuqori reaktivlikka rejalashtirishning ustuvor ustuvor yondashuvini qo'llash orqali erishiladi , uning mohiyati shundan iboratki, agar boshqa vazifani darhol boshlash kerakligi aniqlansa, rejalashtiruvchiga har qanday vazifani o'zboshimchalik bilan bajarishni to'xtatishga ruxsat beriladi.
Ta'riflangan sxema quyidagi qoidaga muvofiq ishlaydi: agar ikkita vazifa bir vaqtning o'zida ishlashga tayyor bo'lsa, lekin birinchisi yuqori ustuvorlikka ega bo'lsa, ikkinchisi esa past bo'lsa, rejalashtiruvchi birinchisiga ustunlik beradi. Ikkinchi vazifa birinchisi o'z ishini tugatgandan keyingina ishga tushiriladi.
Ehtimol, past ustuvor vazifa allaqachon ishlayotgan bo'lishi mumkin va rejalashtiruvchi boshqa yuqoriroq vazifani bajarishga tayyorligi haqida xabar oladi. Bunga ba'zi tashqi ta'sirlar (apparat uzilishi), masalan, RTOS tomonidan boshqariladigan qurilmadagi kalit holatining o'zgarishi sabab bo'lishi mumkin. Bunday vaziyatda vazifalarni rejalashtiruvchisi o'zini ustuvor rejalashtirish yondashuviga muvofiq quyidagicha harakat qiladi. Kam ustuvor vazifaga joriy assembler ko'rsatmasini bajarishga ruxsat beriladi (lekin dastur manbasida yuqori darajadagi tilda tasvirlangan ko'rsatma emas), shundan so'ng vazifaning bajarilishi to'xtaydi. [sakkiz]Keyinchalik, yuqori ustuvor vazifa ishga tushiriladi. Ishga tushgandan so'ng, rejalashtiruvchi to'xtatilgan birinchi vazifani oxirgi bajarilganidan keyin assembler ko'rsatmasi bilan boshlaydi.
Har safar vazifa rejalashtiruvchisi qandaydir tashqi hodisaning (trigger) yuzaga kelishi haqida signal olganida, uning sababi ham apparat, ham dasturiy ta'minot bo'lishi mumkin, u quyidagi algoritmga muvofiq harakat qiladi. [sakkiz]

  1. Hozirda bajarilayotgan vazifani bajarishda davom etishi kerakligini belgilaydi.

  2. Keyingi qaysi vazifa bajarilishi kerakligini belgilaydi.

  3. Toʻxtatilgan vazifa kontekstini saqlaydi (keyin toʻxtagan joyidan davom etishi uchun)

  4. Keyingi vazifa uchun kontekstni o'rnatadi.

  5. Bu vazifani boshlaydi.

Algoritmning ushbu besh bosqichi vazifani almashtirish deb ham ataladi .
Hozirgi vaqtda RTOSda samarali rejalashtirish muammosini hal qilish uchun ikkita yondashuv eng intensiv ishlab chiqilmoqda. [o'n bir]

  • Statik rejalashtirish algoritmlari (RMS, Rate Monotonic Scheduling). Ustuvor profilaktik rejalashtirishdan foydalaning. Har bir vazifa ishga tushishidan oldin unga ustuvorlik beriladi. Eng qisqa bajarilish muddati bo'lgan vazifalarga ustunlik beriladi.

  • Dinamik rejalashtirish algoritmlari (EDF, Earliest Deadline First Scheduling). Vazifalarga dinamik ravishda ustuvorlik beriladi, bunda eng erta boshlash (tugatish) muddati chegaralangan vazifalarga ustunlik beriladi.

Katta tizim yuklari uchun EDF RMSga qaraganda samaraliroq.
Ko'p vazifali tizimlar resurslarga kirishni taqsimlashi kerak. Xotiraning istalgan sohasiga yoki boshqa resurslarga ikki yoki undan ortiq jarayonlarning bir vaqtning o'zida kirishi ma'lum bir xavf tug'diradi. Ushbu muammoni hal qilishning 3 ta usuli mavjud 

  • Vaqtinchalik uzilishlarni blokirovka qilish

  • Ikkilik semaforlar

  • Signallarni yuborish

RTOS odatda birinchi usuldan foydalanmaydi, chunki foydalanuvchi ilovasi protsessorni xohlagancha boshqara olmaydi. Biroq, ko'plab o'rnatilgan tizimlar va RTOS'lar tizim qo'ng'iroqlariga kirish va OS aralashuvisiz ijro muhitini boshqarish uchun ilovalarga yadro rejimida ishlash imkonini beradi.
Bir protsessorli tizimlarda eng yaxshi yechim yadro rejimida [10] ishlaydigan, uzilishlarni blokirovka qilishga ruxsat berilgan dastur hisoblanadi. Interrupt o'chirilgan bo'lsa-da, dastur faqat jarayonning resurslaridan foydalanadi va boshqa hech qanday vazifa yoki uzilish ishlay olmaydi. Shunday qilib, barcha muhim manbalar himoyalangan. Ilova muhim amallarni bajargandan so'ng, agar mavjud bo'lsa, uzilishlarni yoqishi kerak. Eng uzun kritik bo'limni bajarish vaqti ruxsat etilgan uzilishga javob berish vaqtidan kamroq bo'lsa, uzilishni blokirovka qilishga ruxsat beriladi. Odatda, ushbu himoya usuli faqat tanqidiy kodning uzunligi bir necha qatordan oshmasa va tsikllarni o'z ichiga olmaydi. Ushbu usul registrlarni himoya qilish uchun ideal.
Kritik qism uzunligi maksimal uzunlikdan kattaroq bo'lsa yoki tsikllarni o'z ichiga olgan bo'lsa, dasturchi semaforlar va signalizatsiya kabi umumiy maqsadli tizimlarning xatti-harakatlariga o'xshash yoki taqlid qiluvchi mexanizmlardan foydalanishi kerak.
RTOS-da umumiy maqsadli operatsion tizimlarga qaraganda quyidagi xotira ajratish masalalariga ko'proq e'tibor beriladi.
Birinchidan, xotirani ajratish tezligi. Xotirani taqsimlashning standart sxemasi ma'lum o'lchamdagi bo'sh xotira maydonini topish uchun noma'lum uzunlikdagi ro'yxatni skanerlashni o'z ichiga oladi va bu qabul qilinishi mumkin emas, chunki RTOS-da xotirani ajratish belgilangan vaqt ichida sodir bo'lishi kerak.
Ikkinchidan, agar uning bo'sh joylari allaqachon ishlayotgan jarayonlarga bo'lingan bo'lsa, xotira parchalanishi mumkin. Bu dasturning yangi xotira joyidan foydalana olmasligi sababli to'xtab qolishiga olib kelishi mumkin. Xotiraning parchalanishini bosqichma-bosqich oshiruvchi xotirani ajratish algoritmi, agar ular oyiga kamida bir marta qayta ishga tushirilsa, ish stoli tizimlarida yaxshi ishlashi mumkin, lekin yillar davomida qayta yuklanmasdan ishlaydigan o'rnatilgan tizimlar uchun qabul qilinishi mumkin emas.
Ruxsat etilgan uzunlikdagi xotira bloklariga ega oddiy algoritm oddiy o'rnatilgan tizimlarda juda yaxshi ishlaydi.
Bundan tashqari, ushbu algoritm ish stoli tizimlarida yaxshi ishlaydi, ayniqsa xotira blokini bir yadro bilan qayta ishlash jarayonida keyingi xotira bloki boshqa yadro tomonidan qayta ishlansa. Unison Operating System yoki DSPnano RTOS kabi ish stoli uchun optimallashtirilgan RTOS bu imkoniyatni ta'minlaydi.
Download 33.69 Kb.

Do'stlaringiz bilan baham:
1   2   3




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