Che cos'è il sistema operativo in tempo reale (RTOS) e come funziona?

Prova Il Nostro Strumento Per Eliminare I Problemi





Quando sentiamo la parola sistema operativo, per prima cosa nella nostra mente viene il sistema operativo utilizzato nei laptop e nei computer. In generale, utilizziamo diversi tipi di sistemi operativi come Windows XP, Linux, Ubuntu, Windows 7,8.8.1 e 10. Negli smartphone, i sistemi operativi sono come KitKat, Jellybean, marshmallow e Nougat. In un dispositivo elettronico digitale, esiste una sorta di sistema operativo sviluppato da il programma del microcontrollore . Ci sono diversi tipi di sistemi operativi da sviluppare per il microcontrollore, ma qui abbiamo discusso il sistema operativo in tempo reale.

Cos'è un sistema operativo in tempo reale?

L'RTOS è un sistema operativo, è un cervello del sistema in tempo reale e la sua risposta agli input immediatamente. Nell'RTOS, l'attività sarà completata entro il tempo specificato e le sue risposte in modo prevedibile a eventi imprevedibili. La struttura dell'RTOS è mostrata di seguito.




Struttura di RTOS

Struttura di RTOS

Tipi di RTOS

Esistono tre diversi tipi di RTOS che seguono



  • Sistema operativo morbido in tempo reale
  • Sistema operativo difficile in tempo reale
  • Sistema operativo stabile in tempo reale
Tipi di RTOS

Tipi di RTOS

Sistema operativo soft in tempo reale

Il sistema operativo soft real-time ha determinate scadenze, potrebbe non essere presente e intraprenderà l'azione in un momento t = 0 +. Il sistema operativo soft real-time è un tipo di SO e non contiene vincoli a regole estreme. Il momento critico di questo sistema operativo è in una certa misura ritardato. Gli esempi di questo sistema operativo sono la fotocamera digitale, i telefoni cellulari e i dati online, ecc.

Sistema operativo in tempo reale morbido

Sistema operativo soft in tempo reale

Sistema operativo difficile in tempo reale

Anche questo è un tipo di sistema operativo ed è previsto da una scadenza. Le scadenze previste reagiranno in un momento t = 0. Alcuni esempi di questo sistema operativo sono il controllo degli airbag nelle auto, il freno antibloccaggio e il sistema di controllo del motore, ecc.

Sistema operativo in tempo reale stabile

In azienda in tempo reale, un sistema operativo ha determinati vincoli di tempo, non sono rigidi e può causare effetti indesiderati. Esempi di questo sistema operativo sono un'ispezione visiva nell'automazione industriale.


Lavorare con il sistema operativo in tempo reale

Ci sono diversi tipi di funzionalità di base di un RTOS che seguono

  • Scheduler basato su priorità
  • Routine di interrupt dell'orologio di sistema
  • Comportamento deterministico
  • Sincronizzazione e messaggistica
  • Servizio RTOS

Scheduler basato su priorità

Nello scheduler basato sulle priorità, la maggior parte dell'RTOS è compresa tra 32 e 256 priorità possibili per le singole attività o processi. Questo scheduler eseguirà il processo con la massima priorità. Se l'attività è in esecuzione sulla CPU, viene eseguita la successiva attività con la priorità più alta e continua i processi.

Nel sistema, il processo con la priorità più alta avrà la CPU

  • Corre per chiudere
  • Se l'attività originale viene anticipata dalla nuova, viene preparato un processo ad alta priorità.

Ci sono tre stati delle attività o dei processi che sono come pronti per essere eseguiti e l'altro è bloccato e la descrizione di ogni stato è fornita di seguito.

Pronto a correre

Si dice che sia pronto per l'esecuzione quando il processo ha tutte le risorse per eseguire, ma non dovrebbe essere nello stato di esecuzione. Quindi viene chiamato pronto per essere eseguito.

In esecuzione

Se l'attività è in esecuzione, si dice che abbia uno stato in esecuzione.

Bloccato

In questo stato, se non dispone di risorse sufficienti per l'esecuzione, viene inviato allo stato bloccato.

Tre tecniche vengono modificate per pianificare l'attività, di seguito con la loro descrizione.

Pianificazione cooperativa

In questo tipo di pianificazione, l'attività verrà eseguita fino al completamento dell'esecuzione

Round Robin Scheduling

In questa pianificazione, a ogni processo viene assegnato un intervallo di tempo fisso e il processo deve completare la sua esecuzione, altrimenti l'attività perde il flusso e la generazione dei dati.

Pianificazione preventiva

La pianificazione preventiva implica l'allocazione temporale della priorità dipendente dal tempo. In genere vengono utilizzati 256 livelli di priorità e ogni attività ha un livello di priorità univoco. Esistono alcuni sistemi che supportano il livello di priorità maggiore e più attività hanno alcune priorità.

Routine di interrupt dell'orologio di sistema

Per eseguire l'operazione sensibile al tempo, l'RTOS fornirà una sorta di orologi di sistema. Se è presente un orologio di sistema di 1 ms, è necessario completare l'attività in 50 ms. Di solito, c'è un'API che ti segue per dire 'In 50ms svegliami'. Quindi l'attività sarebbe in posizione di riposo fino a quando l'RTOS non si sveglierà. Abbiamo due avvisi che il risveglio non garantirà l'esecuzione esattamente in quel momento, dipende dalla priorità e se la priorità più alta è attualmente in esecuzione, sarebbe ritardato.

Comportamento deterministico

L'RTOS si sposta a lungo per proteggere che, indipendentemente dal fatto che tu abbia preso 100 attività o 10 attività, non fa alcuna differenza nella distanza per cambiare contesto e determina l'attività successiva con priorità più alta. Nella prima area deterministica l'RTOS è la gestione degli interrupt, quando viene segnalata la linea di interrupt l'RTOS esegue immediatamente l'azione della corretta routine di servizio di interrupt e l'interrupt viene gestito senza alcun ritardo.

Dobbiamo far rumore che gli sviluppatori del progetto scriveranno gli ISR ​​specifici per l'hardware. Prima d'ora l'RTOS fornisce gli ISR ​​per le porte seriali, gli orologi di sistema e può essere un hardware di rete, ma se c'è qualcosa di specializzato come i segnali del pacemaker, gli attuatori, ecc., Non fanno parte dell'RTOS.

Si tratta di generalizzazioni grossolane e c'è un'ampia varietà di implementazioni nell'RTOS. Alcuni RTOS funzionano in modo diverso e la descrizione di cui sopra è compatibile con la maggior parte degli RTOS esistenti.

Sincronizzazione e messaggistica

La sincronizzazione e la messaggistica fornisce la comunicazione tra l'attività di un sistema a un altro sistema e i servizi di messaggistica stanno seguendo. Per sincronizzare le attività interne viene utilizzato il flag dell'evento e per inviare i messaggi di testo che possiamo utilizzare nella casella di posta, nelle pipe e nelle code dei messaggi. Nelle aree dati comuni vengono utilizzati i semafori.

  • Semafori
  • Flag di eventi
  • Cassette postali
  • Tubi
  • Code di messaggi

Servizio RTOS

La parte più importante del sistema operativo è il kernel. Per monitorare l'hardware, l'attività dovrebbe essere alleggerita e le responsabilità che il kernel gestisce e alloca le risorse. Se l'attività non riesce a ottenere l'attenzione della CPU ogni volta, allora ci sono altri servizi forniti dal kernel. I seguenti sono

  • Servizi di tempo
  • Interrompere i servizi di gestione
  • Servizi di gestione dei dispositivi
  • Servizi di gestione della memoria
  • Servizi di input-output

Vantaggi di RTOS

  • Quando tutte le risorse e i dispositivi sono inattivi, l'RTOS fornisce il massimo consumo del sistema e più output.
  • Quando un'attività è in esecuzione, non è possibile ottenere l'errore perché l'RTOS è privo di errori.
  • L'allocazione della memoria è il tipo migliore da gestire in questo tipo di sistema.
  • In questo tipo di sistema, il tempo di cambio marcia è molto inferiore.
  • A causa delle piccole dimensioni del programma, l'RTOS viene utilizzato in sistema incorporato come il trasporto e altri.

In questo articolo, abbiamo discusso come funzionerà il sistema operativo in tempo reale. Spero che leggendo questo articolo abbiate ottenuto alcune informazioni di base. Se hai domande riguardanti questo articolo o per realizzare progetti elettrici , non esitate a commentare nella sezione sottostante. Ecco la domanda per te, quali sono le funzioni dell'RTOS?