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


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


O`ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI


MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI SAMARQAND FILIALI

"Kompyuter injiniring" fakulteti


" Axborot texnologiyalari " kafedrasi
"Real vaqt tizimlari" fanidan

MUSTAQIL ISH

Bajardi :KI102-19-guruh talabasi
Qilichev Zafarbek
Tekshirdi : Xujayarov Ilyos
SAMARQAND – 2023

Mavzu: FreeRTOS operatsion tizimi. Vazifalarni boshqarish (Task management). Navbatlarni boshqarish (Queue management). Uzilishlarni boshqarish (Interrupt management). Resurslarni boshqarish (resource management). Xotirani boshqarish (Memory management).
Reja:

  1. FreeRTOS operatsion tizimi.

  2. Vazifalarni boshqarish.

  3. Navbatlarni boshqarish.

  4. Uzilishlarni boshqarish.

  5. Resurslarni boshqarish.

  6. Xotirani boshqarish.



1.FreeRTOS operatsion tizimi. Vazifalarni boshqarish
FreeRTOS ochiq manba real vaqtda operatsion tizim (RTOS) boʻlib, Richard Barri tomonidan ishlab chiqilgan va 2003-yilda chiqarilgan. U dastlab kichik oʻlchamli oʻrnatilgan tizimlar bilan foydalanish uchun moʻljallangan edi va shu vaqtdan boshlab keng koʻlamli ilovalarda mashhurlikka erishdi. uning ishonchliligi, kengaytirilishi va foydalanish qulayligi.

FreeRTOS bir vaqtning o'zida bir nechta vazifalarni bajarishga imkon beruvchi ko'p vazifali yadroni taqdim etadi, ularning har biri o'z stekiga va ustuvorligiga ega. Vazifalar FreeRTOS yadrosi tomonidan boshqariladigan "FreeRTOS vazifalari" deb ham ataladigan engil iplar sifatida amalga oshiriladi. Vazifalar ish vaqtida dinamik ravishda yaratilishi, ishga tushirilishi, to'xtatilishi, to'xtatilishi, davom ettirilishi va o'chirilishi mumkin, bu uni moslashuvchan va turli vazifalar talablari bo'lgan ilovalar uchun mos qiladi.


FreeRTOS hamkorlikdagi ko‘p vazifani qo‘llab-quvvatlaydi, bunda vazifalar aniq boshqa vazifalarga nazoratni beradi, va bir vaqtning o‘zida yuqoriroq ustuvor vazifalarni aniq bajarmasdan turib, vazifalarni oldini olish mumkin bo‘lgan preemptive multitasking. Bu uni turli xil dastur talablariga va tizim konfiguratsiyasiga moslashtiradi.
FreeRTOS shuningdek, semaforlar, mutekslar va navbatlar kabi sinxronizatsiya primitivlarini taqdim etadi, bu esa vazifalarni bajarilishini sinxronlashtirish va bir-biri bilan xavfsiz tarzda aloqa qilish imkonini beradi. Ushbu sinxronizatsiya mexanizmlari ko'p vazifali muhitda vazifalararo aloqani, muvofiqlashtirishni va resurslarni almashishni osonlashtiradi.

Vazifalarni boshqarish va sinxronlashdan tashqari, FreeRTOS vaqtga asoslangan voqealarni rejalashtirish uchun taymerni boshqarish, uzilishlarni samarali boshqarish uchun uzilishlarni boshqarish va dinamik xotirani ajratish va ajratish uchun xotirani boshqarish kabi boshqa funktsiyalarni o'z ichiga oladi.



FreeRTOS-ning kuchli tomonlaridan biri uning ko'chma qobiliyatidir. U yuqori darajada portativ bo'lishi uchun mo'ljallangan va ARM, AVR, PIC, MSP430 va boshqalarni o'z ichiga olgan turli ishlab chiqaruvchilarning mikrokontrollerlari va mikroprotsessorlarining keng spektrida ishlashi mumkin. Bu uni ko'p qirrali qiladi va turli apparat platformalari va o'rnatilgan tizimlar uchun mos keladi.
FreeRTOS foydalanuvchilar va ishlab chiquvchilarning katta va faol hamjamiyatiga ega bo'lib, ular uning rivojlanishiga hissa qo'shadilar va keng ko'lamli hujjatlar, o'quv qo'llanmalari va yordam forumlarini taqdim etadilar. Jamiyat, shuningdek, FreeRTOS funksiyalarini kengaytiruvchi turli xil qo'shimcha komponentlar va kutubxonalarni taklif etadi, masalan, fayl tizimlari, tarmoq steklari va qurilma drayverlari.
FreeRTOS-ning ba'zi asosiy xususiyatlari:

  1. Vazifalarni rejalashtirish: FreeRTOS kooperativ ko'p vazifali modelni taqdim etadi, bu erda vazifalar yadro tomonidan ustuvor va rejalashtirilishi mumkin bo'lgan engil iplar sifatida amalga oshiriladi. Vazifalar boshqaruvni boshqa vazifalarga berishi mumkin, bu esa resurslardan samarali foydalanish va muhim vazifalarni ustuvorlashtirish imkonini beradi.

  2. Vazifalarni sinxronlashtirish va aloqa: FreeRTOS semaforlar, mutekslar va navbatlar kabi sinxronizatsiya primitivlarini o'z ichiga oladi, bu esa vazifalarni bajarilishini sinxronlashtirish va bir-biri bilan xavfsiz tarzda aloqa qilish imkonini beradi.

  3. Xotirani boshqarish: FreeRTOS tizim resurslarini samarali boshqarish uchun dinamik xotirani ajratish va ajratish kabi xotirani boshqarish xususiyatlarini o'z ichiga oladi.

  4. Taymerni boshqarish: FreeRTOS o'rnatilgan taymerni boshqarish funksiyasini taqdim etadi, bu vazifalarga vaqtga asoslangan voqealar uchun davriy yoki bir martalik taymer qo'ng'iroqlarini rejalashtirish imkonini beradi.

  5. Uzilishlarni qayta ishlash: FreeRTOS uzilishlarni boshqarish uchun uzilishlar uchun xavfsiz API'larni taqdim etadi va vazifalarga uzilish hodisalarini bloklash yoki kutish imkonini beradi, bu esa real vaqtda ilovalarda uzilishlarni samarali boshqarish imkonini beradi.

  6. Portativlik: FreeRTOS juda ko'chma bo'lishi uchun mo'ljallangan va mikrokontrollerlar va mikroprotsessorlarning keng diapazonida ishlashi mumkin, bu uni turli o'rnatilgan tizimlar uchun mos qiladi.

  7. Boy ekotizim: FreeRTOS keng ko'lamli hujjatlar, o'quv qo'llanmalari va qo'llab-quvvatlash forumlarini taqdim etadigan foydalanuvchilar va ishlab chiquvchilarning katta hamjamiyatiga ega. Bundan tashqari, u o'z funksiyalarini kengaytirish uchun fayl tizimlari, tarmoq steklari va qurilma drayverlari kabi turli xil qo'shimcha komponentlar va kutubxonalarni taklif qiladi.

  8. Litsenziyalash: FreeRTOS MIT litsenziyasi ostida chiqarilgan bo'lib, u tijorat va notijorat loyihalarda hech qanday litsenziya to'lovlari yoki royaltilarsiz bepul foydalanish imkonini beradi.

Vazifalarni boshqarish (Task management).
Vazifalarni boshqarish FreeRTOS ning asosiy xususiyati hisoblanadi, chunki u real vaqt rejimida o'rnatilgan tizimda bir vaqtning o'zida bir nechta vazifalarni bajarishga imkon beruvchi ko'p vazifali yadroni ta'minlaydi. FreeRTOS vazifalarni yaratish, rejalashtirish va boshqarish uchun moslashuvchan va samarali mexanizmni taqdim etadi, ular yadro tomonidan ustuvor va rejalashtirilishi mumkin bo'lgan engil ish zarralari sifatida amalga oshiriladi.

FreeRTOS-da vazifalarni boshqarishning ba'zi muhim jihatlari:

Vazifa yaratish: FreeRTOS-dagi vazifalar xTaskCreate() API yordamida ish vaqtida dinamik ravishda yaratiladi, bu vazifa funksiyasini, vazifa ustuvorligini, stek hajmini va boshqa parametrlarni belgilash imkonini beradi. Vazifalar turli ustuvorliklar bilan yaratilishi mumkin, bu esa vazifalarni rejalashtirish ustidan nozik nazorat qilish imkonini beradi.

Vazifalarni rejalashtirish: FreeRTOS ustuvorlikka asoslangan rejalashtirish algoritmidan foydalanadi, bunda yuqori ustuvorliklarga ega bo'lgan vazifalar pastroq ustuvorliklarga ega bo'lgan vazifalardan ustun turadi. Preemptive vazifalarni rejalashtirish muhim vazifalarni pastroq vazifalar bilan kechiktirmasligini ta'minlab, yuqori ustuvor vazifalarni darhol bajarishga imkon beradi. FreeRTOS shuningdek, vazifalarni hamkorlikda rejalashtirishni qo'llab-quvvatlaydi, bunda vazifalar taskYIELD() API yordamida boshqa vazifalarni aniq nazorat qiladi va birgalikda ko'p vazifalarni bajarishga imkon beradi.

Vazifa holatlari: FreeRTOS-dagi vazifalar “Ishlayotgan”, “Tayyor”, “Bloklangan” yoki “To‘xtatilgan” kabi turli holatda bo‘lishi mumkin. Vazifa holati rejalashtiruvchi tomonidan vazifalarning ustuvorliklari va vazifalar kutishi mumkin bo'lgan semaforlar yoki navbatlar kabi sinxronizatsiya primitivlari asosida aniqlanadi.


Vazifalarni boshqarish: FreeRTOS vTaskSuspend(), vTaskResume() va vTaskDelete() kabi vazifalarni boshqarish uchun turli API-larni taqdim etadi, ular mos ravishda ish vaqtida vazifalarni to'xtatib turish, davom ettirish va o'chirish imkonini beradi. Vazifalar vTaskDelay() yoki vTaskDelayUntil() API’lari yordamida ham ma’lum vaqtga kechiktirilishi mumkin, bu esa vaqtga asoslangan vazifalarni rejalashtirish imkonini beradi.


Vazifalarni sinxronlashtirish: FreeRTOS semaforlar, mutekslar va navbatlar kabi sinxronizatsiya ibtidoiylarini taqdim etadi, bu esa vazifalarning bajarilishini sinxronlashtirish va bir-biri bilan xavfsiz tarzda aloqa qilish imkonini beradi. Ushbu sinxronizatsiya mexanizmlari vazifalararo aloqani, muvofiqlashtirishni va resurslarni almashishni osonlashtiradi.
Vazifalar to'plamini boshqarish: FreeRTOS-dagi har bir vazifa mahalliy o'zgaruvchilar va funktsiya chaqiruv ramkalarini saqlash uchun o'z stekiga ega. FreeRTOS vazifalar to'plamini boshqaradi va stek to'lib ketishining oldini olish uchun stek to'lib ketishini aniqlashni ta'minlaydi, bu esa aniqlanmagan xatti-harakatlarga va tizimning ishdan chiqishiga olib kelishi mumkin.
Vazifalar haqida bildirishnomalar: FreeRTOS xTaskNotify() va ulTaskNotifyTake() kabi vazifalarni bildirish mexanizmlarini taqdim etadi, ular vazifalarga boshqa vazifalarga bildirishnomalarni yuborish va qabul qilish imkonini beradi, bu esa sinxronizatsiya primitivlaridan foydalanmasdan vazifalararo samarali aloqani ta'minlaydi.

Vazifa ustuvorligi: FreeRTOS vazifalarni nisbiy ahamiyati va dolzarbligidan kelib chiqqan holda ustuvorlashtirish imkonini beradi. Yuqori ustuvorliklarga ega bo'lgan vazifalar pastroq ustuvorliklarga ega bo'lgan vazifalarni hal qiladi va muhim vazifalar darhol bajarilishini ta'minlaydi.



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