Vazifalarni boshqarish (Task management).
RTOS-da ilova kichik, rejalashtirilgan va ketma-ket dastur birliklariga bo'lingan va "Vazifa" deb nomlanuvchi, asosiy bajarish birligi va uchta muhim vaqt xususiyati bilan boshqariladi; chiqarish vaqti, muddati va ijro vaqti. Chiqarish vaqti vazifani bajarish mumkin bo'lgan vaqtni bildiradi. Belgilangan muddat - bu vazifa bajarilishi kerak bo'lgan vaqt nuqtasi. Bajarish vaqti vazifani bajarish uchun ketadigan vaqtni bildiradi.
Har bir vazifa quyidagi davlatlarda mavjud bo'lishi mumkin
Faol: Vazifa bajarilmoqda
To'xtatilgan: Vazifa vaqtincha to'xtatiladi
Kutilmoqda: Resurs kutilayotgan vazifa.
Amaliy dasturni bajarish jarayonida individual vazifalar doimiy ravishda bir holatdan ikkinchisiga o'zgarib turadi. Biroq, bajarishning istalgan nuqtasida faqat bitta vazifa ish rejimida (ya'ni CPU boshqaruvi berilgan) mavjud. Protsessor boshqaruvi bir vazifadan boshqasiga o'tadigan jarayonda, to'xtatilishi kerak bo'lgan vazifaning konteksti saqlanadi va bajariladigan vazifaning konteksti olinadi, bu jarayon kontekstni almashtirish deb ataladi.
Vazifa ob'ekti quyidagi komponentlar to'plami bilan belgilanadi:
Vazifalarni boshqarish bloki: Vazifa kontekstni eslab qolish uchun TCB lardan foydalanadi. TCBlar operativ xotirada joylashgan ma'lumotlar tuzilmalari bo'lib, ularga faqat RTOS orqali kirish mumkin
Task Stack: Ular operativ xotirada joylashgan bo'lib, stek ko'rsatkichi orqali kirish mumkin.
Vazifalar tartibi: ROMda joylashgan dastur kodi
Navbatlarni boshqarish (Queue management).
Buning uchun biz navbatni boshqarishning ikkita asosiy parametrini ko'rib chiqishimiz kerak, ular kanallar (yoki serverlar) soni va xizmat ko'rsatish bosqichlari soni .
Kanallarni siz xizmat ko'rsatadigan stantsiyalar soni va bosqichlarni to'liq xizmat ko'rsatish uchun kerak bo'lgan qadamlar soni sifatida tasavvur qiling.
Har bir parametr ikkita qiymatni qabul qilishi mumkin: bitta (bitta) yoki ko'p (bir nechta). Kanallar va fazalarning turli kombinatsiyasi bizga navbatni boshqarishning to'rtta alohida turini beradi:
Do'stlaringiz bilan baham: |