- Kas yra RTOS?
- Kodėl RTOS ??
- Skirtumas tarp operacinės sistemos realiuoju laiku ir operacinės sistemos
- RTOS tipai
- Nemokamo RTOS naudojimo pranašumai
- Keletas pagrindinių klausimų, susijusių su RTOS
- Kaip naudotis RTOS
Įterptąsias sistemas galima plačiai pritaikyti visuose mus supančiuose elektroniniuose įrenginiuose, akivaizdus pavyzdys yra mini nešiojamas kompiuteris, kurį nuolat nešiojamės su savimi, taip, turiu omenyje mūsų mobiliuosius telefonus.
Kai įterptoji sistema patenka į vaizdą, ji visada yra aparatūros, tokios kaip mikrovaldikliai ar mikroprocesoriai, ir programinės įrangos, tokios kaip aparatinė ar operacinė sistema, derinys. Operacinė sistema formuoja visų elektronikos prietaisų bazę ir valdo tiek aparatūros ir per elektroninę įrangą programinę įrangą. Operacinės sistemos terminas apima ne tik „Unix“ ir „Windows“ kompiuteriams, bet ir mikrokontrolerius. Viena tokių operacinių sistemų, galinčių veikti su mikrovaldikliais, vadinama „ Real time“ operacine sistema. Čia sužinosime apie RTOS ir realaus laiko operacinės sistemos programas.
Kas yra RTOS?
Realaus laiko operacinė sistema, žinoma kaip RTOS, suteikia valdikliui galimybę atsakyti į įvestį ir atlikti užduotis per tam tikrą laikotarpį, atsižvelgiant į prioritetą. Iš pirmo žvilgsnio RTOS gali atrodyti kaip bet kuri kita įterptoji programa ar programinė aparatinė įranga, tačiau ji sukurta remiantis operacinės sistemos architektūra. Taigi, kaip ir bet kuri operacinė sistema, RTOS gali leisti kelioms programoms vykdyti tuo pačiu metu palaikant multipleksavimą. Kaip žinome, procesoriaus ar valdiklio šerdis vienu metu gali atlikti tik vieną komandą, tačiau RTOS turi tai, kas vadinama planuotojukuris nusprendžia, kurią instrukciją pirmiausia vykdyti, ir taip viena po kitos vykdo kelių programų nurodymus. Techniškai RTOS tik sukuria iliuziją apie daugkartinį paėmimą, vykdydamas lygiagrečias instrukcijas po vieną.
Dėl to RTOS tinka įvairioms programoms realiame pasaulyje. RTOS bet kokiam įėjimui, kai buvo įvertinta logika, suteikianti atitinkamą išvestį. Ši logika matuojama remiantis ne tik loginiu kūrybiškumu, bet ir laiko trukme, per kurią buvo atlikta konkreti užduotis. Jei sistemai nepavyksta atlikti užduoties per tą konkretų laiką, tai vadinama sistemos gedimu.
Kodėl RTOS ??
- Tvarkyklių prieinamumas: „RTOS“ yra daug tvarkyklių, leidžiančių jas tiesiogiai naudoti įvairioms programoms.
- Suplanuoti failai: RTOS rūpinasi planavimu, todėl, užuot sutelkę dėmesį į bet kurios sistemos planavimą, galime tiesiog susitelkti į programų kūrimą. Pavyzdžiui, užduočių planavimo failai naudojami apibrėžti tam tikrus veiksmus, kai įvykdoma tam tikra sąlyga. RTOS naudoja tam tikrus pažangius algoritmus paprastai veikiančių, parengtų ir užblokuotų būsenų planavimui, kurie, vykdydami RTOS, daugiau dėmesio skiria programų kūrimui, o ne planavimui.
- Funkcijų pridėjimo lankstumas: net jei norite pridėti naujų funkcijų, „RTOS“ galite jas tiesiog pridėti netrukdydami esamoms funkcijoms
Skirtumas tarp operacinės sistemos realiuoju laiku ir operacinės sistemos
Realaus laiko operacinė sistema ir operacinės sistemos, tokios kaip „Windows“, „Linux“ ir kt., Yra įvairių skirtumų. Pažvelkime į juos po vieną lentelės formato pagalba:
S.No | Operacinė sistema | Realaus laiko sistema |
1 | Laiko pasidalijimas yra operacinės sistemos procesų vykdymo pagrindas | Procesai vykdomi pagal jų prioriteto eiliškumą |
2 | Operacinė sistema veikia kaip sąsaja tarp sistemos aparatinės ir programinės įrangos | Realaus laiko sistema yra sukurta taip, kad ją būtų galima vykdyti realaus pasaulio problemoms spręsti |
3 | Atminties valdymas nėra svarbi operacinės sistemos vykdymo problema | Atminties valdymas yra sunkus, nes remiantis realiuoju laiku paskirstoma atmintis, kuri pati yra kritinė |
4 | Programos: biuras, duomenų centrai, namų sistema ir kt | Programos: orlaivių ar branduolinių reaktorių valdymas, mokslinių tyrimų įranga |
5 | Pavyzdžiai: „Microsoft Windows“, „Linux“, OS | Pavyzdžiai: „Vx Works“, „QNX“, „Windows CE“ |
RTOS tipai
Realaus laiko operacinę sistemą galime suskirstyti iš esmės į tris dalis
- Sunki realaus laiko operacinė sistema
- „Soft“ realaus laiko operacinė sistema
- Tvirta realaus laiko operacinė sistema
1. Sunki realaus laiko operacinė sistema
Pradėkime suprasti tokio tipo operacinę sistemą naudodamiesi pavyzdžiu, gyvas jos pavyzdys yra skrydžio valdymo sistema. Skrydžio valdymo sistemoje bet kokias užduotis, kurias pilotas pateikia įvesties forma, jos turėtų būti atliekamos laiku. Sunkiu realaus laiko operacine sistema galima toleruoti sistemos gedimus. Kietojo RTOS funkcijos yra šios:
- Laiku atlikti užduotis
- Termino nesilaikymas yra mirtinas
- Garantuojamas blogesnis reagavimo laikas
- Tai gali sukelti sistemos gedimą
2. „Soft“ realaus laiko operacinė sistema
Lengviausias „soft RTOS“ naudojimo pavyzdys yra internetinė duomenų bazė, nes „soft RTOS“ parametras, dėl kurio mes labiau nerimaujame, yra greitis. Taigi, „soft RTOS“ funkcijos yra šios:
- Užduotys turėtų būti atliekamos kuo greičiau
- Vėlyvas užduočių atlikimas yra nepageidautinas, bet ne mirtinas
- Yra tikimybė, kad gali pablogėti veikimas
- Negalima sukelti sistemos gedimo
3. Tikroji realaus laiko operacinė sistema
Roboto ranka, naudojama objektams rinkti, gali būti laikoma vienu iš firmos RTOS pavyzdžių. Šioje firmos RTOS net toleruojamas procesas, net jei procesas atidėtas.
Nemokamo RTOS naudojimo pranašumai
Toliau pateikiami RTOS naudojimo savo programose pranašumai.
- Jokių užkardos problemų
- Mažas pralaidumas geresniam našumui
- Pagerintas saugumas ir privatumas
- Maža kaina, nes sumažėjo aparatūros ir programinės įrangos komponentų, naudojamų kūrimui
Keletas pagrindinių klausimų, susijusių su RTOS
Nepaisant to, kad RTOS turi daug privalumų realiame pasaulyje, jis taip pat turi įvairių trūkumų. Kai kurie su tuo susiję klausimai aptariami čia.
- Pertraukimai paprastai naudojami programose, siekiant sustabdyti vykdančią programą, kad srautas būtų nukreiptas į kitą svarbią kodo dalį. Čia, per RTOS, nes reikalingas greitas reagavimo laikas; rekomenduojama, kad pertraukimai būtų išjungti kuo trumpesniam laikui.
- Kadangi branduolys taip pat turėtų reaguoti į įvairius įvykius, reikalaujama, kad branduolio dydis būtų mažesnis, kad jis tinkamai atitiktų ROM
- Reikėtų pašalinti sudėtingas RTOS savybes, nes joje nėra tokios virtualios atminties koncepcijos.
Kaip naudotis RTOS
Dabar, kai žinote, kas yra RTOS ir kur galite jį naudoti, norėdami pradėti naudotis RTOS, paprastai turite naudoti „Tornado“ arba „FreeRTOS“ kūrimo aplinką. Trumpai apžvelkime abi šias kūrimo aplinkas.
„Tornado“ - „VxWorks“
„Tornado“ yra integruota aplinka, skirta tikslinei sistemai kurti su realiuoju laiku susijusias įterptąsias RTOS programas. Tornadą sudaro trys pagrindiniai elementai, kurie yra išvardyti žemiau.
1) „VxWorks“
2) Programų kūrimo įrankiai (kompiliatorius ir susijusios programos)
3) Integruota kūrimo aplinka, galinti valdyti, derinti ir stebėti „VxWorks“ programą
„VxWorks“ yra tinkle sujungta realaus laiko operacinė sistema. Norėdami pradėti nuo „VxWorks“, turėtume turėti vieną kūrimo rinkinį (tikslą) kartu su viena darbo vieta. Čia kūrimo rinkinys yra ne kas kita, o tikslinis pagrindinis kompiuteris ar komponentas, kuris bendrauja su darbo stoties serveriu. Taikinys čia sujungia tokius tornado įrankius kaip apvalkalas ir derintuvas. Todėl naudodami „VxWorks“ mes sukonfigūruosime ir sukursime sistemas, o „Tornado“ pateikia grafinę vartotojo sąsają ir komandinės eilutės įrankius konfigūravimui ir kūrimui.
Labai svarbus momentas, kuris yra paveikslėlyje, yra tai, kad diegiant tornadą savo sistemoje, diegimo katalogas turėtų naudoti kelius kaip:
installDir / target. Pvz., Jei norite išsaugoti savo tornadą C: \ tornado „Windows“ priegloboje, visas kelio pavadinimas turėtų būti identifikuojamas kaip „installDir / target / h / vxworks.h“.
Čia mes nediskutuosime išsamiai apie „Vx“ darbų ypatybes (paliksime tai kitai pamokai), bet aptarsime, kaip kūrimą galima atlikti naudojant „Cx+“ „Vxworks“ naudojant „ WindRiver GNU“. „WindRiver GNU“ padeda mums pateikti grafinę analizę apie pertraukimą, susijusį su vykdymu, taip pat atminties naudojimo ataskaitą.
Pavyzdžiui, aukščiau nurodytame „WindRiver“ rodinyje paaiškinamas susieto procesoriaus numeris kartu su užduočių prioritetu („tLowPri“ ir „tHighPri“). Neaktyviosios būsenos, ty žalios spalvos linija, nurodomas laikotarpis, kurį procesorius nėra darbinėje būsenoje, kuris pastebimas kas kelias sekundes. t1, t7, t8 ir t9 yra ne kas kita, o įvairūs naudojami procesoriai. Čia mes pasirenkame tik t7 procesorių.
Taigi, šis „Windriver“ gali iškviesti tiek „VxWorks“, tiek programų modulių paprogrames. Galite paleisti „Windriver“ programą iš tornado paleidimo įrankių juostos (-> i mygtukas), vėliau spustelėkite meniu, tada spustelėkite apvalkalą. Galiausiai iš komandų eilutės įveskite „> windsh target server“.
Dabar, norint programuoti naudojant C ++, svarbu įtraukti INCLUDE_CPLUS_DEMANGLER komponentą, šis demangler komponentas leidžia tikslinio apvalkalo simboliams grąžinti žmonėms skaitomas C ++ simbolių pavadinimų formas. Prieš atsisiųsdami C ++ modulį į „Vxworks“ tikslą, atlikite procesą, žinomą kaip „ munching“. Čia mulčiavimas reiškia papildomą pagrindinio kompiuterio apdorojimo veiksmą.
Sudarykite C ++ programos šaltinio programą ir gaukite, pavyzdžiui, failą hello.cpp. Vėliau paleiskite jį, kad sukramtytumėte.o ir sukompiluotumėte sugeneruotą failą ctdt.c. Toliau susiekite programą su „ctdt.o“, kad sugeneruotumėte „VxWorks“ atsisiunčiamą modulį „hello.out“. Išvestis atlikus šį „VxWorks“ bus „make“ failas, kuris bus naudojamas tam tikram tikslui.
Nemokama RTOS
Apskritai, kai tik pradedame nuo RTOS, mes dažniausiai renkamės „Vx Works RTOS“. Bet čia trumpai aptarkime nemokamą RTOS, kurią pradedantieji taip pat gali naudoti, norėdami pereiti prie realaus laiko operacinės sistemos koncepcijos. Nemokamą RTOS sukūrė Richardas Barry ir „FreeRTOS“ komanda, taip pat ji priklauso „Real time engineers ltd“, tačiau ji yra nemokama naudoti ir ją galima paprasčiausiai atsisiųsti spustelėjus žemiau esančią nuorodą
Atsisiųskite nemokamą ROTS
Naujausia nemokamo RTOS versija, naudojama šio straipsnio metu, yra 10 versija, nurodyta kaip „FreeRTOS V10“.
Didžiausias nemokamo RTOS privalumas, dėl kurio jis yra pranašesnis už kitą RTOS, yra nuo platformos nepriklausomas elgesys aparatinės įrangos atžvilgiu, ty „c“ kodas, kurį naudosime operacinei sistemai vykdyti, gali veikti įvairiose skirtingos architektūros platformose. Todėl, nepaisant to, ar naudojate mikrovaldiklį 8051, ar kitą naujausią ARM mikrovaldiklį, kodas, kurį parašėte kartu su vykdymo procesu, bus panašus abiem.
Yra daugybė kitų privalumų naudojant nemokamą RTOS, palyginti su Vx darbais ir kitomis RTOS operacinėmis priemonėmis. Kai kuriuos iš jų galima teigti:
- Užtikrina lengvesnį testavimą
- Skatina kodo pakartotinio naudojimo sampratą
- Mažesnis prastovos laikas
- Lengva prižiūrėti
- Santrauka informacija apie laiką
Be to, pagrindinis branduolys, kuriame branduolys nurodo centrinį operacinės sistemos komponentą, esantį nemokamoje RTOS, leidžia jį naudoti įvairioms programoms. RTOS tampa galingesnė, nes norint gauti daugiau programų, operacinėse sistemose lengva pritvirtinti išplėstinius modulius.
Vieną iš nemokamų RTOS naudojimo pavyzdžių galima paaiškinti naudojant „Free RTOS“ ir „Nabto“ derinimo koncepciją. „Nabto“ yra nemokamas žiniatinklio įrenginys, naudojamas informacijai perkelti iš įrenginio į naršyklę.
Todėl sujungus nemokamą RTOS su „Nabto“, jis tampa mažu C kodo gabalu, kaip paaiškinta a paveiksle. Dienos dienų daiktų internetas (IOT) yra madingas ir kiekvienas IOT įrenginys, prie kurio mes naudosimės, turi unikalų URL per internetą, o ši technologija leidžia saugiai ir labai mažo pralaidumo ryšį tarp taško į tašką. Jei nėra interneto ryšio, šis derinys gali būti naudingas. Todėl nemokama RTOS yra populiarus pasirinkimas įgyvendinant IOT.