Ce este sistemul de operare în timp real (RTOS) și cum funcționează?

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Când auzim cuvântul de sistem de operare, în primul rând în mintea noastră vine că sistemul de operare utilizat în laptopuri și computere. În general, folosim diferite tipuri de sisteme de operare precum Windows XP, Linux, Ubuntu, Windows 7,8.8.1 și 10. În smartphone-uri, sistemele de operare sunt precum KitKat, Jellybean, marshmallow și Nougat. Într-un dispozitiv electronic digital, există un fel de sistem de operare dezvoltat de programul de microcontroler . Sunt diferite tipuri de sisteme de operare de dezvoltat pentru microcontroler, dar aici am discutat despre sistemul de operare în timp real.

Ce este un sistem de operare în timp real?

RTOS este un sistem de operare, este un creier al sistemului în timp real și răspunsul său la intrări imediat. În RTOS, sarcina va fi finalizată până la timpul specificat și răspunsurile sale într-un mod previzibil la evenimente imprevizibile. Structura RTOS este prezentată mai jos.




Structura RTOS

Structura RTOS

Tipuri de RTOS

Urmează trei tipuri diferite de RTOS



  • Sistem de operare soft în timp real
  • Sistem de operare greu în timp real
  • Sistem de operare ferm în timp real
Tipuri de RTOS

Tipuri de RTOS

Sistem de operare soft în timp real

Sistemul de operare soft în timp real are anumite termene, poate fi ratat și vor lua măsurile la un moment t = 0 +. Sistemul de operare soft în timp real este un tip de sistem de operare și nu conține restricții la reguli extreme. Timpul critic al acestui sistem de operare este întârziat într-o oarecare măsură. Exemplele acestui sistem de operare sunt camera digitală, telefoanele mobile și datele online etc.

Sistem de operare soft în timp real

Sistem de operare soft în timp real

Sistem de operare dur în timp real

Acesta este, de asemenea, un tip de sistem de operare și este prevăzut până la un termen limită. Termenele prevăzute vor reacționa la un moment t = 0. Unele exemple ale acestui sistem de operare sunt controlul airbagului în mașini, frâna antiblocare și sistemul de control al motorului etc.

Sistem de operare ferm în timp real

În timp real, un sistem de operare are anumite constrângeri de timp, nu sunt stricte și poate provoca efecte nedorite. Exemplele acestui sistem de operare sunt o inspecție vizuală în automatizarea industrială.


Lucrul cu sistemul de operare în timp real

Urmează diferite tipuri de funcționalități de bază ale unui RTOS

  • Planificator bazat pe prioritate
  • Rutina de întrerupere a ceasului sistemului
  • Comportament determinist
  • Sincronizare și mesagerie
  • Serviciul RTOS

Planificator bazat pe prioritate

În planificatorul bazat pe priorități, cea mai mare parte a RTOS este între 32 și 256 de priorități posibile pentru sarcinile sau procesele individuale. Acest planificator va rula procesul cu cea mai mare prioritate. Dacă sarcina rulează pe CPU, atunci se execută următoarea sarcină cu cea mai mare prioritate și continuă procesele.

În sistem, procesul cu cea mai mare prioritate va avea CPU

  • Aleargă să se închidă
  • Dacă sarcina inițială este prevenită de nou, atunci este pregătit un proces cu prioritate ridicată.

Există trei stări ale sarcinilor sau proceselor care sunt gata de rulare, iar cealaltă este blocată și descrierea fiecărei stări este prezentată mai jos.

Gata de fugă

Gata de rulare se spune că este atunci când procesul are toate resursele pentru a rula, dar nu ar trebui să fie în starea de rulare. Apoi este chemat ca fiind gata de rulare.

Alergare

Dacă sarcina se execută, atunci se spune că are o stare de rulare.

Blocat

În această stare, dacă nu are resursele suficiente pentru a rula, atunci este trimis în starea blocată.

Trei tehnici sunt modificate pentru a programa sarcina, urmând cu descrierea lor.

Programarea cooperării

În acest tip de planificare, sarcina va rula până la finalizarea execuției

Programarea Round Robin

În această planificare, fiecărui proces i se atribuie un interval de timp fix și procesul trebuie să-și finalizeze execuția, altfel sarcina își pierde fluxul și generarea de date.

Programare preventivă

Planificarea preventivă implică prioritatea în alocarea timpului dependent de timp. În general, sunt utilizate 256 de niveluri de prioritate și fiecare sarcină are un nivel de prioritate unic. Există unele sisteme care acceptă nivelul de prioritate mai mare, iar sarcinile multiple au unele priorități.

Rutină de întrerupere a ceasului de sistem

Pentru a efectua operația sensibilă la timp, RTOS va furniza un fel de ceasuri de sistem. Dacă există un ceas de sistem de 1 ms, atunci trebuie să finalizați sarcina în 50 ms. De obicei, există un API care vă urmărește pentru a spune „În 50 de minute treziți-mă”. Prin urmare, sarcina ar fi în poziția de dormit până când RTOS se va trezi. Avem două notificări că trezirea nu se va asigura că va rula exact la acel moment, depinde de prioritate și dacă prioritatea superioară se execută în prezent ar fi întârziată.

Comportament determinist

RTOS se deplasează la o lungime mare pentru a proteja că, indiferent dacă ați luat 100 de sarcini sau 10 sarcini, nu face nicio diferență în distanța de a schimba contextul și determină următoarea sarcină cu cea mai mare prioritate. În zona primară deterministică, RTOS este tratarea întreruperilor, atunci când linia de întrerupere este semnalizată, RTOS ia imediat acțiunea rutinei corecte a serviciului de întrerupere și întreruperea este tratată fără nicio întârziere.

Trebuie să spunem că dezvoltatorii proiectului vor scrie ISR-uri specifice hardware-ului. Înainte, RTOS oferă ISR-urile pentru porturile seriale, ceasurile de sistem și poate fi un hardware de rețea, dar dacă există ceva specializat, cum ar fi semnalele de stimulator cardiac, actuatorii etc., nu fac parte din RTOS.

Acest lucru se referă la generalizări brute și există o mare varietate de implementare în RTOS. Unele dintre RTOS funcționează diferit, iar descrierea de mai sus este capabilă pentru o mare parte din RTOS existent.

Sincronizare și mesagerie

Sincronizarea și mesageria asigură comunicarea între sarcina unui sistem către un alt sistem și serviciile de mesagerie pe care le urmează. Pentru a sincroniza activitățile interne se folosește steagul evenimentului și pentru a trimite mesaje text pe care le putem folosi în căsuța poștală, conducte și cozi de mesaje. În zonele comune de date, se folosesc semaforele.

  • Semaforele
  • Steaguri de eveniment
  • Cutii poștale
  • Țevi
  • Cozi de mesaje

Serviciul RTOS

Cea mai importantă parte a sistemului de operare este nucleul. Pentru a monitoriza hardware-ul, sarcina ar trebui ușurată, iar responsabilitățile kernelului gestionează și alocă resursele. Dacă sarcina nu poate obține atenția procesorului de fiecare dată, atunci există alte servicii furnizate de kernel. Următoarele sunt

  • Servicii de timp
  • Servicii de manipulare a întreruperii
  • Servicii de gestionare a dispozitivelor
  • Servicii de gestionare a memoriei
  • Servicii de intrare-ieșire

Avantajele RTOS

  • Când toate resursele și dispozitivele sunt inactive, atunci RTOS oferă consumul maxim al sistemului și mai multă ieșire.
  • Când se execută o sarcină, nu există nicio șansă de a obține eroarea, deoarece RTOS este fără erori.
  • Alocarea memoriei este cel mai bun tip de gestionat în acest tip de sistem.
  • În acest tip de sistem, timpul de schimbare este foarte mic.
  • Datorită dimensiunii reduse a programului, RTOS este utilizat în sistem incorporat precum transportul și altele.

În acest articol, am discutat cum va funcționa sistemul de operare în timp real. Sper că, citind acest lucru, ați obținut câteva informații de bază. Dacă aveți întrebări referitoare la acest articol sau să implementeze proiecte electrice , vă rugăm să nu ezitați să comentați în secțiunea de mai jos. Iată întrebarea pentru dvs., care sunt funcțiile RTOS?