Bosh sahifa > Ko'rgazma > Kontent

Haqiqiy vaqtda operatsion tizimni rejalashtirish

Mar 08, 2019

Odatdagi dizaynlarda vazifa uchta davlatga to'g'ri keladi:


Running (CPU ustida ishlash);

Tayyor (bajarilishga tayyor);

Bloklangan (bir hodisani kutish, I / U kutish).

Ko'pgina vazifalar bloklanadi yoki ko'pincha tayyor bo'ladi, chunki odatda faqat bir vazifa CPU uchun bir vaqtning o'zida ishlaydi. Tayyor quyruqdagi elementlar soni tizimning bajarishi kerak bo'lgan vazifalar soniga va tizim ishlatadigan rejalashtiruvchining turiga qarab juda katta farq qilishi mumkin. Oddiy bo'lmagan, ammo hali ko'p vazifani bajaradigan tizimlarda, vazifa CPUga o'z vaqtini boshqa topshiriqlardan voz kechishi kerak, bu esa tayyor holatda bajariladigan holatga (manba ochish) ko'proq umumiy vazifalarni bajarishiga olib kelishi mumkin. .


Taymerda tayyor ro'yxatning odatda tuzilishi, rejalashtiruvchining tanqidiy bo'limida sarflanadigan eng yomon vaqtni kamaytirishga, shu bilan birgalikda, preampysning oldini olishga mo'ljallangan va ayrim holatlarda barcha interruptlarni o'chirib qo'yish uchun mo'ljallangan. Ammo ma'lumotlar tuzilmasini tanlash, tayyor ro'yxatda bo'lishi mumkin bo'lgan maksimal vazifalar soniga bog'liq.


Agar tayyor ro'yxatda bir nechta ish bo'lmasa, u holda tayyor ishlarning ikki tomonlama bog'langan ro'yxati maqbul bo'ladi. Agar tayyor ro'yxat odatda faqat bir nechta vazifani o'z ichiga oladigan bo'lsa, lekin ba'zida ko'proq narsani o'z ichiga olgan bo'lsa, ro'yxatni birinchi o'ringa qarab tartiblash kerak. Shunday qilib, eng yuqori darajadagi vazifani bajarish, butun ro'yxat orqali qayta ishlashni talab qilmaydi. Biror vazifani kiritish ro'yxatning oxiriga yetguncha yoki kiritilgan vazifaga qaraganda pastroq ustuvor vazifani bajargunga qadar tayyor ro'yxatni bosishni talab qiladi.


Ushbu qidiruv vaqtida preambysiyaning oldini olish uchun ehtiyot bo'lish kerak. Keyinchalik juda muhim bo'limlar kichik bo'laklarga bo'linishi kerak. Past o'rinli ustuvor vazifani kiritish paytida yuqori ustuvor vazifani bajarishga imkon beradigan interrupt bo'lsa, yuqori ustuvor vazifa past ustuvor vazifa qo'shilmasdan oldin kiritilishi va ishga tushirilishi mumkin.


Ba'zan "flyback" deb ataladigan tanqidiy javob vaqti yangi tayyor vazifani bajarish uchun zarur vaqt va ishga tushish uchun eng yuqori darajali vazifani hal etish uchun vaqt. Yaxshi mo'ljallangan RTOSda yangi vazifani tayyorlash tayyor ro'yxatga olish uchun 3-20 ta ko'rsatmani oladi va eng ustuvor tayyorgarlikni qayta tiklash uchun 5-30 ta ko'rsatma kerak bo'ladi.


Keyinchalik rivojlangan tizimlarda real vaqtda vazifalar hisoblash resurslarini ko'pgina real vaqtda bo'lmagan vazifalar bilan taqsimlaydi va tayyor ro'yxatni o'zboshimchalik bilan uzoqlashtirishi mumkin. Bunday tizimlarda bog'langan ro'yxat sifatida amalga oshiriladigan rejalashtiruvchi tayyor ro'yxati kam bo'lishi mumkin.