- Ce este RTOS?
- De ce RTOS ??
- Diferența dintre sistemul de operare în timp real și sistemul de operare
- Tipuri de RTOS
- Avantajele utilizării RTOS gratuite
- Unele probleme majore legate de RTOS
- Cum se utilizează RTOS
Sistemele încorporate au o gamă largă de aplicații în toate dispozitivele electronice din jurul nostru, un exemplu evident este mini laptopul pe care îl purtăm tot timpul cu noi, da, mă refer la telefoanele noastre mobile.
Ori de câte ori sistemul încorporat intră în imagine, este întotdeauna o combinație de hardware cum ar fi microcontrolere sau microprocesoare și software cum ar fi un firmware sau un sistem de operare. Un sistem de operare reprezintă baza tuturor dispozitivelor electronice și gestionează atât hardware-ul, cât și software-ul în cadrul oricărui dispozitiv electronic. Termenul de sistem de operare nu este limitat doar la Unix și Windows pentru computere, dar se poate extinde și la microcontrolere. Un astfel de sistem de operare care poate rula pe microcontrolere este numit sistem de operare în timp real. Aici vom afla despre RTOS și aplicațiile sistemului de operare în timp real.
Ce este RTOS?
Sistemul de operare în timp real cunoscut sub numele de RTOS oferă controlerului capacitatea de a răspunde la intrare și de a finaliza sarcini într-o anumită perioadă de timp bazată pe prioritate. La prima vedere, un RTOS ar putea suna ca orice alt program sau firmware încorporat, dar este construit pe arhitectura unui sistem de operare. Prin urmare, ca orice sistem de operare, RTOS poate permite programelor multiple să se execute în același timp, acceptând multiplexarea. După cum știm, nucleul unui procesor sau controler poate executa o singură instrucțiune la un moment dat, dar RTOS are ceva numit programatorcare decide ce instrucțiune să execute mai întâi și astfel execută instrucțiunile mai multor programe unul după altul. Din punct de vedere tehnic, un RTOS creează doar o iluzie de preluare multiplă, executând instrucțiuni paralele pe rând.
Acest lucru face ca RTOS să fie potrivit pentru diverse aplicații din lumea reală. În RTOS pentru orice intrare ori de câte ori a fost evaluată o logică care dă ieșirea corespunzătoare. Această logică este măsurată pe baza nu numai a creativității logice, ci și a duratei de timp în care a fost îndeplinită sarcina specifică. Dacă un sistem eșuează în efectuarea sarcinii în acea durată specifică de timp, este cunoscut sub numele de eșec al sistemului.
De ce RTOS ??
- Disponibilitatea driverelor: Există multe drivere disponibile în RTOS, ceea ce ne permite să le folosim direct pentru diverse aplicații.
- Fișiere programate: RTOS se ocupă de planificare, astfel încât, în loc să ne concentrăm pe planificarea oricărui sistem, ne putem concentra pur și simplu pe dezvoltarea aplicației. De exemplu, fișierele de planificare a sarcinilor sunt utilizate pentru a defini anumite acțiuni ori de câte ori sunt îndeplinite o serie de condiții. RTOS folosește anumiți algoritmi avansați pentru programarea stărilor de execuție, gata și blocate care, în timp ce rulează RTOS, se concentrează mai mult pe dezvoltarea aplicației decât pe planificare.
- Flexibilitatea adăugării de caracteristici: în cadrul RTOS, chiar dacă sunteți dispus să adăugați funcții noi, pur și simplu o puteți adăuga fără a deranja funcțiile existente.
Diferența dintre sistemul de operare în timp real și sistemul de operare
Există diferite diferențe între sistemul de operare în timp real și sistemele de operare precum Windows, Linux etc. Să le aruncăm o privire una câte una cu ajutorul formatului de masă:
S. Nu | Sistem de operare | Sistem în timp real |
1 | Partajarea timpului este baza executării proceselor din sistemul de operare | Procesele sunt executate pe baza ordinii priorității lor |
2 | Sistemul de operare acționează ca o interfață între hardware-ul și software-ul unui sistem | Sistemul în timp real este conceput pentru a avea execuția sa pentru problemele din lumea reală |
3 | Gestionarea memoriei nu este o problemă critică atunci când vine vorba de execuția sistemului de operare | Gestionarea memoriei este dificilă, deoarece pe baza problemei în timp real este alocată memoria, ceea ce în sine este esențial |
4 | Aplicații: birou, centre de date, sistem pentru acasă etc. | Aplicații: Controlul aeronavelor sau al reactorului nuclear, echipamente de cercetare științifică |
5 | Exemple: Microsoft Windows, Linux, OS | Exemple: Vx Works, QNX, Windows CE |
Tipuri de RTOS
Putem clasifica majoritatea sistemului de operare în timp real în trei părți și anume
- Sistem de operare greu în timp real
- Sistem de operare soft în timp real
- Sistem de operare ferm în timp real
1. Sistem de operare greu în timp real
Să începem să înțelegem acest tip de sistem de operare folosind un exemplu, exemplul live al acestuia este sistemul de control al zborului. În cadrul sistemului de control al zborului, orice sarcini date de pilot sub formă de intrare ar trebui să fie efectuate la timp. Într-un sistem de operare greu în timp real, eșecurile sistemului pot fi tolerate. Caracteristicile RTOS hard sunt:
- Pentru a efectua sarcini la timp
- Nerespectarea termenului este fatală
- Timp de răspuns la cazuri mai slab garantat
- Poate duce la defectarea sistemului
2. Sistem de operare soft în timp real
Cel mai simplu exemplu de utilizare a soft RTOS este baza de date online, deoarece în RTOS soft parametrul de care suntem mai îngrijorați este viteza. Prin urmare, caracteristicile soft RTOS sunt:
- Sarcinile trebuie efectuate cât mai repede posibil
- Finalizarea tardivă a sarcinilor este nedorită, dar nu fatală
- Există posibilitatea degradării performanței
- Nu poate duce la eșecul sistemului
3. Sistem de operare ferm în timp real
Brațul robot care este folosit pentru a alege obiecte poate fi considerat ca unul dintre exemplele RTOS ferme. Aici, în cadrul acestei firme RTOS, chiar dacă procesul este întârziat, este tolerat.
Avantajele utilizării RTOS gratuite
Următoarele sunt avantajele utilizării RTOS în aplicațiile dvs.
- Nu există probleme de firewall
- Lățime de bandă redusă pentru performanțe îmbunătățite
- Securitate și confidențialitate îmbunătățite
- Cost redus, datorită reducerii componentelor hardware și software utilizate pentru dezvoltare
Unele probleme majore legate de RTOS
Acum, în ciuda faptului că are multe avantaje pentru RTOS în aplicațiile din lumea reală, are și dezavantaje variate. Unele dintre problemele legate de aceasta sunt discutate aici.
- Întreruperile sunt utilizate în mod normal în programe pentru a opri programul de execuție pentru a redirecționa fluxul către o altă parte importantă a codului. Aici, în cadrul RTOS, deoarece este necesar un timp de răspuns rapid; se recomandă dezactivarea întreruperilor pentru un timp minim posibil.
- Deoarece, nucleul ar trebui să răspundă și pentru diferite evenimente, este necesar să aibă o dimensiune mai mică a nucleului, astfel încât să se potrivească corect în ROM
- Caracteristicile sofisticate ale RTOS ar trebui eliminate, deoarece nu există un concept de memorie virtuală ca atare în interiorul său.
Cum se utilizează RTOS
Acum, că știți ce este RTOS și unde îl puteți folosi, pentru a începe cu RTOS trebuie să utilizați în mod normal Tornado sau mediul de dezvoltare FreeRTOS. Să aruncăm o scurtă privire asupra ambelor medii de dezvoltare.
Tornado - VxWorks
Tornado este un mediu integrat pentru a dezvolta aplicații RTOS încorporate legate în timp real pe sistemul țintă. Tornada constă din trei elemente de bază care sunt enumerate mai jos.
1) VxWorks
2) Instrumente de construire a aplicațiilor (compilator și programe asociate)
3) Mediu de dezvoltare integrat, care poate gestiona, depana și monitoriza aplicația VxWorks
VxWorks este un sistem de operare în rețea în timp real. Pentru a începe cu VxWorks ar trebui să avem un kit de dezvoltare (țintă) împreună cu o stație de lucru. Aici, kitul de dezvoltare nu este altceva decât gazda sau componenta țintă care comunică cu serverul țintă de pe stația de lucru. Ținta de aici conectează instrumente de tornadă, cum ar fi shell - ul și depanatorul. Prin urmare, folosind VxWorks vom configura și construi sistemele în timp ce Tornado ne oferă o interfață grafică de utilizator și instrumente de linie de comandă pentru configurare și construire.
Un punct foarte important care apare în imagine aici este că, în timp ce instalați tornado în sistemul dvs., directorul de instalare ar trebui să utilizeze numele de cale ca:
installDir / target. De exemplu, dacă doriți să vă stocați tornada în C: \ tornado pe o gazdă Windows, calea completă ar trebui identificată în acest caz ca installDir / target / h / vxworks.h.
Aici, nu vom discuta în detaliu cu privire la caracteristicile lucrărilor Vx (o vom lăsa pentru următorul tutorial), dar vom discuta despre modul în care se poate face dezvoltarea folosind C ++ în Vxworks folosind WindRiver GNU. WindRiver GNU ne ajută în furnizarea unei analize grafice cu privire la întreruperea implicată în timpul execuției, precum și raportul de utilizare a memoriei.
De exemplu, vizualizarea de mai sus a WindRiver explică numărul procesorului asociat împreună cu prioritatea sarcinilor (tLowPri & tHighPri). Starea de repaus, adică linia de culoare verde a indicat perioada de timp pentru care procesorul nu se află în starea sa de lucru, care se observă că este la fiecare câteva secunde. t1, t7, t8 și t9 nu sunt altceva decât diferitele procesoare utilizate. Aici, selectăm doar procesorul t7.
Prin urmare, acest Windriver este capabil să invoce atât VxWorks, cât și subrutinele modulului de aplicație. Puteți lansa aplicația Windriver fie din bara de instrumente de lansare a tornadei (-> butonul i), apoi faceți clic pe meniu și apoi faceți clic pe shell. În sfârșit, din promptul de comandă tastați „> server țintă windsh”.
Acum, pentru a programa programul utilizând C ++, este important să includeți componenta INCLUDE_CPLUS_DEMANGLER, această componentă demangler permite simbolurilor shell shell să returneze forme lizibile de oameni ale numelor simbolurilor C ++. Înainte de a descărca modulul C ++ în ținta Vxworks, urmați procesul cunoscut sub numele de munching. Aici, munching se referă la etapa de procesare a gazdei suplimentare.
Compilați programul sursă al aplicației C ++ și obțineți, de exemplu, fișierul hello.cpp. Ulterior executați-l pentru a munch pe.o și a compila fișierul generat ctdt.c. Mai mult, conectați aplicația cu ctdt.o pentru a genera modul descărcabil, hello.out în cadrul VxWorks. Ieșirea după executarea acestui VxWorks va fi un fișier make care va fi utilizat pe o anumită țintă.
RTOS gratuit
În general, de fiecare dată când începem cu RTOS preferăm în general Vx Works RTOS. Dar, aici să discutăm pe scurt despre RTOS-ul gratuit, care poate fi folosit și de începători pentru a trece prin conceptul de sistem de operare în timp real. Free RTOS este dezvoltat de Richard Barry și echipa FreeRTOS, de asemenea, este deținut de Real time engineer ltd, dar este gratuit și poate fi descărcat pur și simplu făcând clic pe linkul de mai jos
Descarcă ROTS gratuite
Cea mai recentă versiune de RTOS gratuită utilizată la momentul acestui articol este versiunea 10, declarată ca FreeRTOS V10.
Cel mai mare avantaj al RTOS-ului gratuit care îl face superior în ceea ce privește celălalt RTOS este comportamentul său independent de platformă în ceea ce privește hardware-ul, adică codul c pe care îl vom folosi pentru a executa un sistem de operare poate rula pe diferite platforme cu arhitectură diferită. Prin urmare, indiferent dacă utilizați microcontrolerul 8051 sau cel mai recent microcontroler ARM, codul pe care l-ați scris împreună cu procesul de execuție va fi similar pentru ambele.
Există multe alte avantaje ale utilizării RTOS gratuite față de Vx works și a altor instrumente de operare RTOS. Unele dintre ele pot fi declarate ca:
- Oferă teste mai ușoare
- Promovează conceptul de reutilizare a codului
- Timp de inactivitate mai mic
- Ușor de întreținut
- Rezumarea informațiilor de temporizare
De asemenea, nucleul de bază, unde nucleul se referă la componenta centrală a unui sistem de operare care este prezent în RTOS-ul gratuit, îl face accesibil pentru utilizare pentru diverse aplicații. Deoarece este ușor să atașați module extinse pe sistemele de operare pentru a obține mai multe aplicații gratuite, RTOS devine mai puternic.
Unul dintre exemplele de utilizare a RTOS-ului gratuit poate fi explicat prin utilizarea conceptului de a combina RTOS-ul gratuit cu Nabto. Nabto este un dispozitiv web gratuit utilizat pentru a transfera informațiile de pe dispozitiv în browser.
Prin urmare, la combinarea RTOS-ului gratuit cu Nabto este o mică bucată de cod C așa cum se explică în figura a. Acum câteva zile Internetul obiectelor (IOT) este în tendință și fiecare dispozitiv IOT pe care îl vom accesa are o adresă URL unică pe internet, iar tehnologia permite conexiuni punct-la-punct cu lățime de bandă sigură și extrem de scăzută. În absența conectivității la internet, această combinație poate fi utilă. Prin urmare, RTOS gratuit este o alegere populară atunci când vine vorba de implementarea IOT.