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 = T
r
– T
d
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 = T
a
– T
d
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: |