O`zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi


Uzilishlarni boshqarish (Interrupt managment)


Download 0.59 Mb.
bet3/6
Sana15.06.2023
Hajmi0.59 Mb.
#1484399
1   2   3   4   5   6
Bog'liq
Mustaqil ish Real vaqt tizimlari.

Uzilishlarni boshqarish (Interrupt managment).
Uzilishlarni boshqarish real vaqtda operatsion tizim (RTOS) funksiyasining muhim jihati hisoblanadi. Uzilishlar - bu apparat yoki dasturiy ta'minot signallari tomonidan qo'zg'atiladigan hodisalar bo'lib, ular dasturning normal bajarilishini to'xtatishi mumkin. O'rnatilgan tizimlarda vaqtinchalik muhim voqealarni hal qilish va ishonchli va deterministik xatti-harakatni ta'minlash uchun to'g'ri uzilishlarni boshqarish juda muhimdir. FreeRTOS-da uzilishlarni boshqarishning ba'zi asosiy jihatlari:

Xizmatni uzish tartiblari (ISRs): FreeRTOS uzilishlarni boshqarish uchun ISRlarni aniqlash va ulardan foydalanish imkonini beradi. ISR - bu ma'lum bir uzilish hodisasiga javoban bajariladigan maxsus funktsiyalar. FreeRTOS xPortSysTickHandler() va vPortYieldFromISR() kabi API-larni taqdim etadi, ular sizga tizim taymer belgilarini boshqarish va ISR ichidagi vazifalar o'rtasida kontekstni almashtirishni amalga oshirish imkonini beradi. FreeRTOS-dagi ISR tez va samarali bo'lishi uchun yaratilgan va ular blokirovka yoki kutish operatsiyalaridan qochishlari kerak.



Interrupt Nesting: FreeRTOS ichki uzilishlarni qo'llab-quvvatlaydi, ya'ni ISR yuqori ustuvor ISR tomonidan uzilishi mumkin. ISR uzilganda, RTOS yadrosi uzilgan vazifaning kontekstini avtomatik ravishda saqlaydi va ustuvor ISR ga o'tadi. Yuqori ustuvor ISR tugallangandan so'ng, yadro asl ISR kontekstini tiklaydi va uning bajarilishini davom ettiradi. Bu FreeRTOS-ga ierarxik tarzda turli xil ustuvorliklar bilan bir nechta uzilishlarni boshqarish imkonini beradi.


Interrupt Safe API funktsiyalari: FreeRTOS API funktsiyalari to'plamini taqdim etadi, ular ISRlar ichida xavfsiz foydalanish uchun mo'ljallangan, "to'xtatish xavfsiz API funktsiyalari" deb ataladi. Bu funksiyalar xQueueSendFromISR() va xSemaphoreGiveFromISR() kabi maxsus nomlash konventsiyasiga ega bo‘lib, ular vazifalar va ISRlar o‘rtasida xavfsiz tarzda aloqa qilish uchun ishlatiladi. Ushbu funktsiyalar ma'lumotlar yaxlitligini ta'minlash va poyga sharoitlarini oldini olish uchun kechiktirilgan uzilishlarni qayta ishlash va muhim bo'limlar kabi usullardan foydalanadi.

Uzilish ustuvorligini boshqarish: FreeRTOS sizga ARM Cortex-M protsessorlarida NVIC (Nested Vectored Interrupt Controller) kabi apparatga xos mexanizmlar yordamida uzilishlar ustuvorligini belgilash imkonini beradi. Siz tizimingiz ehtiyojlariga ko'ra, yuqoriroq ustunlikdagi uzilishlar pastroq ustuvorlikdagi uzilishlar va vazifalarni oldini olishi uchun uzilish ustuvorliklarini sozlashingiz mumkin.

Interruptni o'chirish: FreeRTOS taskENTER_CRITICAL() va taskEXIT_CRITICAL() kabi APIlarni taqdim etadi, bu sizga kodning muhim bo'limlarida uzilishlarni vaqtincha o'chirish imkonini beradi. Bu umumiy resurslarni vazifalar va uzilishlar orqali bir vaqtda kirishdan himoya qilish va poyga sharoitlarini oldini olish uchun ishlatilishi mumkin.

Uzilishning kechikishi: FreeRTOS shuningdek, uzilishning kechikishini o'lchash va kamaytirish mexanizmlarini taqdim etadi, bu uzilish hodisasi sodir bo'lgan vaqtdan tegishli ISR boshlanishigacha bo'lgan vaqt. Vaqtinchalik muhim voqealarga o'z vaqtida javob berishni ta'minlash uchun real vaqt tizimlarida past uzilish kechikishi juda muhimdir.



Download 0.59 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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