3.Real vaqt tizimada qisqacha tarixi.
Haqiqiy vaqt tizimlarining tarixi, Qo'shma Shtatlardagi o'zgarishlar bilan tavsiflangan, kompyuterning rivojlanishi bilan chambarchas bog'liq. Zamonaviy real vaqt tizimlari, masalan, atom elektr stantsiyalari, harbiy samolyotlarning qurol-yarog' tizimlari yoki tibbiy kuzatuv uskunalari murakkab, ammo ko'pchilik hali ham 1940-1960 yillarda ishlab chiqilgan tizimlarning xususiyatlari bo’yicha qurilgan.
U birinchi bo'lib 1947 yilda AQSh harbiy-dengiz floti uchun IBM tomonidan ishlab chiqilgan Whirlwind loyihasida yoki AQShning Havo kuchlari uchun yaratilgan yarimavtomatik yer osti havosidan himoya qilish tizimida (SAGE) ishlatilgan. Ikkala loyiha ham real vaqt tizimlari sifatida bugungi standartlarga mos keladi. Vaqtincha qo'shadigan hissasiga qo'shimcha ravishda, Whirlwind loyihasi birinchi marta ferrit yadrosidan foydalanishni va Fortran-dan oldingi yuqori darajadagi til kompilyatorini o'z ichiga oldi.
Boshqa erta real vaqt tizimlari SABRE (1959 yilda American Airlines tomonidan ishlab chiqilgan) kabi aviachiptalarni rezervasyon qilishda, shuningdek jarayonlarni boshqarish uchun ishlatilgan, ammo milliy kosmik dasturning paydo bo'lishi real vaqtni rivojlantirish uchun yanada ko'proq imkoniyatlarni taqdim etdi kosmik va telemetriya boshqaruv tizimlari. O'tgan asrning 60-yillariga kelib bunday tizimlarning jadal rivojlanishi ro'y berdi va shundan keyingina real vaqt rejimida ishlov berishga moslashtirilgan uskunalarning mavjudligi bilan real vaqt rejimidagi muammolarni hal qilishga jiddiy noharbiy qiziqish paydo bo'ldi.
4. Real vaqt tizimi klassifikatsiyasi
Tizim biron bir voqea yoki so'rovga aniq belgilangan vaqt ichida javob berishga majbur bo'lganda, biz buni real vaqtda tizim deb ataymiz. Belgilangan vaqt belgilangan muddat deb nomlanadi. Ushbu tizimlar oldindan aytib berilishi kerak va shuning uchun aniqlanish asosida aniqlanadi.
Agar real vaqt tizimi o'rnatilgan bo'lsa, biz uni real vaqtda o'rnatilgan tizim deb ataymiz. Ushbu maqolada biz ushbu ikkita atamani bir-birining o'rnida ishlatamiz. Haqiqiy vaqtda o'rnatilgan tizimlarga misollar samolyotlarni boshqarish, qulflashga qarshi tormoz tizimlari, elektron yurak stimulyatorlari va dasturlashtiriladigan mantiq nazorati kabi "missiya muhim" ilovalardir.
Real vaqt rejimida vaqtni cheklab qo'yish maqbulligiga qarab tasniflash mumkin. Agar vaqt cheklovini o'tkazib yuborish mutlaqo nomaqbul bo'lsa, masalan, agar inson hayotini yo'qotishi mumkin bo'lsa, biz buni real vaqtda qiyin tizim deb ataymiz. Yuqorida aytib o'tilgan elektron yurak stimulyatori bunga misoldir.
Agar vaqt cheklovi etishmayotgan bo'lsa, qabul qilinishi mumkin, ammo keraksiz bo'lsa, biz uni real vaqtda yumshoq tizim deb ataymiz. Elektron pochta tizimlari, simsiz marshrutizatorlar va kabel qutilaringiz real vaqt rejimida cheklovlarga ega bo'lib, ular ular uchun mo'ljallangan. Shunday bo'lsa-da, ushbu muddatlarni o'tkazib yuborish oqibatlari unchalik katta emas yoki ahamiyatsiz bo'ladi, masalan, sizning sevimli televizion shoularingiz bir soniya davomida buferlashga majbur bo'lishi mumkin. Agar real vaqt rejimida yumshoq dastur ma'lum bir operatsiyani bajarish muddatini o'tkazib yuborsa, operatsiya darhol o'z qiymatini yo'qotmaydi. Buning o'rniga vaqt o'tishi bilan qiymat kamayadi, ya'ni vaqt belgilangan muddatdan ancha uzoqlashganda, u nolga tushadi.
Ko'pgina tizimlar spektrdan yumshoqgacha bo'lgan spektrda mavjud bo'lib, bu erda belgilangan muddatni o'tkazib yuborish mumkin emas, ammo bu bajariladigan operatsiya darhol o'z qiymatini yo'qotadi. Ushbu spektr ichida joylashgan tizimlar ko'pincha real vaqt tizimlari deb nomlanadi.
Vaqtni cheklash
Har bir real vaqt tizimida vaqtni cheklashlar to'plami mavjud bo'lib, ular u uchun mo'ljallangan. Tizimda vaqt cheklovlari bo'lmasa, u real vaqtda emas. Ushbu vaqt cheklovlarini ikki toifaga bo'lish mumkin: voqealarga javob va vazifalarni rejalashtirish.
Hodisalarga javob
Hodisa - bu tizim javob berishi kerak bo'lgan ogohlantiruvchi narsa. Bular apparat va dasturiy ta'minotda boshlanishi mumkin va ular biron bir narsa yuz berganligini va ular bilan shug'ullanish kerakligini ko'rsatadi. Hodisa ichki yoki tashqi tanaffus ko'rinishida paydo bo'lganda ko'proq tanish bo'lishi mumkin. Masalan, tugma bosilganda tizim buni sezishi va kerakli operatsiyalarni bajarishi mumkin. Voqealar har qanday vaqtda tizim o'zgarishini aniqlasa hosil bo'lishi mumkin. Tizim hodisani aniqlagan vaqt va uning ushbu hodisaga javob bergan vaqti o'rtasidagi vaqt, kechikish deyiladi. Kechikish aniqlanish vaqtini olib tashlagan holda javob vaqti sifatida belgilanadi.
L = Tr – Td
Vazifalarni rejalashtirish
Vazifa - bu tizim protsessor tomonidan bajarilishi kerak bo'lgan ko'rsatmalar to'plami. Ba'zi real vaqtda tizim dizaynerlari vazifalarni rejalashtirishni afzal ko'rishadi, ayniqsa agar ular vaqti-vaqti bilan bajarilsa. Ko'pgina o'rnatilgan tizimlar bir necha marta kirishlarni his qilishlari va so'ngra ushbu yangi ma'lumotlarga asoslangan holda chiqishlarni o'zgartirishlari kerak. Ushbu turdagi tizimlar vazifalarni ishlatishga yordam beradi. Ushbu vazifalar odatda rejalashtiruvchi deb ataladigan dasturiy ta'minot yordamida rejalashtiriladi va bajariladi. Rejalashtirilgan vazifani bajarish kerak bo'lgan vaqt va u aslida bajarilishi vaqti orasidagi vaqt jitter deb ataladi. Jitter istalgan vaqtni olib tashlagan holda haqiqiy vaqt sifatida aniqlanadi.
J = Ta – Td
Haqiqiy vaqtda ishlaydigan tizim voqealarni javobini, vazifalarni rejalashtirishni yoki ikkalasini ishlatmasligidan qat'i nazar, yakuniy maqsad maqbul deb hisoblangan yuqori chegarani (eng yomon stsenariy) belgilashda iloji boricha kam kutish va jitterga ega bo'lishdir.
Loyihalash namunalari
Qanday qilib real vaqtda o'rnatilgan tizimni loyihalashtirishga o'tish kerak? Tizimning talablari o'sib borishi va vaqtni cheklashi bilan, belgilangan muddatlarga rioya qilgan holda o'rnatilgan tizimning barcha ehtiyojlarini boshqarish qiyinlashadi. Quyida sanoatning barcha sohalarida qo'llaniladigan bir nechta aniq belgilangan printsiplar keltirilgan.
Dumaloq-Robin
Dumaloq robinalar jadvali - real vaqt tizimining cheklovlarini boshqarish uchun eng taniqli va keng tarqalgan rejalashtirish algoritmlaridan biridir. Nomidan ko'rinib turibdiki, u ishlaydi: tizimning har bir tarkibiy qismiga umumiy resurslardan foydalanish va kerakli vazifani bajarish uchun navbat beradi. Quyidagi rasmda keyingi vazifaga o'tishdan oldin har bir vazifaga 500 ms ish vaqti berilgan CPU ko'rsatilgan. Vazifalar 500 ms ichida bajarilishi mumkin yoki tugamasligi mumkin va ular ko'pincha burilish paytida to'xtagan joyni olishadi.
Navbat
Real vaqt tizimlarida yana bir foydali konstruktsiya bu navbatdir. Navbat mahsulotni ishlab chiqarish liniyasi deb o'ylash mumkin va u qayta ishlanadi. Tayyor bo'lgandan so'ng, tizim navbatdagi elementni navbatdan olib tashlaydi va unga ishlov beradi. Shunday qilib, bajarilishi kerak bo'lgan yangi vazifa navbatga qo'yilishi mumkin va tizim oldin kelgan barcha vazifalarni bajarishini kutadi. Oxir oqibat, yangi vazifa hal qilinadi, hatto uning orqasida ko'proq vazifalar paydo bo'ladi. 3-rasmda A topshirig'i va B topshirig'i bajarilgunga qadar C vazifasi navbatda o'tiradigan birinchi-in-out (FIFO) navbati ko'rsatilgan.
Dumaloq-Robin
RTOS
Vaqt cheklovlarini boshqarishning ortiqcha xarajatlari shunchalik katta bo'ldiki, biron bir dizayn uslubi yoki printsipidan foydalanish endi mumkin bo'lmaydi. Aynan shu vaqtda real vaqtda ishlaydigan operatsion tizim eng yaxshi echimga aylanadi. Haqiqiy vaqtda ishlaydigan operatsion tizim yoki ROSOS (R-toss deb ataladi) rejalashtirish va navbatning tuzilish usullaridan foydalanadi, ammo bu qo'shimcha funktsiyalarni, shu jumladan vazifa ustuvorligini, uzilishlar bilan ishlashni, vazifalararo aloqalarni, fayl tizimlarini, ko'p tarmoqli va boshqalarni o'z ichiga oladi. Ko'proq. Bularning barchasi vaqtni cheklash maqsadlariga erishish va engib o'tishning eng samarali usuliga olib keladi. Ommabop real vaqt operatsion tizimlariga VxWorks, QNX, eCos, MbedOS va FreeRTOS kiradi. Oldingi ro'yxatdagi birinchi ikkitasi mulkka tegishli, ammo qolgan uchtasi bepul ishlatilishi mumkin. MbedOS Arm-ning Mbed platformasi bilan ishlaydi va FreeRTOS ko'plab turli mikrokontrolörlarga yuborilgan. Kelgusi maqolada biz ulardan bittasini olishni va ishlashini o'rganishimiz mumkin.
Do'stlaringiz bilan baham: |