- Cos'è RTOS?
- Perché RTOS ??
- Differenza tra sistema operativo in tempo reale e sistema operativo
- Tipi di RTOS
- Vantaggi dell'utilizzo di RTOS gratuito
- Alcuni dei principali problemi relativi a RTOS
- Come usare RTOS
I sistemi embedded hanno una vasta gamma di applicazioni in tutti i dispositivi elettronici che ci circondano, un esempio evidente è il mini laptop che portiamo sempre con noi, sì, mi riferisco ai nostri telefoni cellulari.
Ogni volta che il sistema embedded entra in scena è sempre una combinazione di hardware come microcontrollori o microprocessori e software come un firmware o un sistema operativo. Un sistema operativo costituisce la base di tutti i dispositivi elettronici e gestisce sia l'hardware che il software all'interno di qualsiasi dispositivo elettronico. Il termine sistema operativo non è limitato solo a Unix e Windows per computer, ma può estendersi anche ai microcontrollori. Uno di questi sistemi operativi che può essere eseguito su microcontrollori è chiamato sistema operativo in tempo reale. Qui impareremo a conoscere RTOS e le applicazioni del sistema operativo in tempo reale.
Cos'è RTOS?
Il sistema operativo in tempo reale comunemente noto come RTOS fornisce al controller la capacità di rispondere agli input e completare le attività entro un periodo di tempo specifico basato sulla priorità. A prima vista, un RTOS potrebbe suonare come qualsiasi altro programma o firmware incorporato, ma è costruito sull'architettura di un sistema operativo. Quindi, come qualsiasi sistema operativo, RTOS può consentire a più programmi di essere eseguiti contemporaneamente supportando il multiplexing. Come sappiamo il nucleo di un processore o controller può eseguire solo una singola istruzione alla volta, ma l'RTOS ha qualcosa chiamato schedulerche decide quale istruzione eseguire per prima e quindi esegue le istruzioni di più programmi una dopo l'altra. Tecnicamente un RTOS crea solo un'illusione di presa multipla eseguendo istruzioni in parallelo una alla volta.
Ciò rende RTOS adatto a varie applicazioni nel mondo reale. In RTOS per qualsiasi ingresso ogni volta che è stata valutata una logica che fornisce l'uscita corrispondente. Questa logica viene misurata sulla base non solo della creatività logica ma anche della durata temporale in cui è stato svolto il compito specifico. Se un sistema non riesce a eseguire un'attività in quella specifica durata di tempo, è noto come errore di sistema.
Perché RTOS ??
- Disponibilità dei driver: sono disponibili molti driver all'interno di RTOS, il che ci consente di utilizzarli direttamente per varie applicazioni.
- File pianificati: RTOS si occupa della pianificazione, quindi invece di concentrarci sulla pianificazione di qualsiasi sistema, possiamo semplicemente concentrarci sullo sviluppo dell'applicazione. Ad esempio, i file di pianificazione delle attività vengono utilizzati per definire determinate azioni ogni volta che viene soddisfatta una serie di condizioni. RTOS utilizza alcuni algoritmi avanzati per la pianificazione degli stati in genere in esecuzione, pronto e bloccato che durante l'esecuzione di RTOS si concentra maggiormente sullo sviluppo dell'applicazione piuttosto che sulla pianificazione.
- Flessibilità di aggiunta di funzionalità: all'interno di RTOS, anche se si è disposti ad aggiungere nuove funzionalità, è possibile aggiungerla semplicemente senza disturbare le funzionalità esistenti
Differenza tra sistema operativo in tempo reale e sistema operativo
Ci sono varie differenze tra il sistema operativo in tempo reale e i sistemi operativi come Windows, Linux ecc. Diamo un'occhiata a loro uno per uno con l'aiuto del formato tabella:
S.No | Sistema operativo | Sistema in tempo reale |
1 | La condivisione del tempo è la base dell'esecuzione dei processi nel sistema operativo | I processi vengono eseguiti in base all'ordine di priorità |
2 | Il sistema operativo funge da interfaccia tra l'hardware e il software di un sistema | Il sistema in tempo reale è progettato per avere la sua esecuzione per i problemi del mondo reale |
3 | La gestione della memoria non è un problema critico quando si tratta di eseguire il sistema operativo | La gestione della memoria è difficile in quanto in base al problema in tempo reale viene allocata la memoria, che a sua volta è fondamentale |
4 | Applicazioni: ufficio, data center, sistema per la casa ecc | Applicazioni: controllo di aeromobili o reattori nucleari, apparecchiature di ricerca scientifica |
5 | Esempi: Microsoft Windows, Linux, OS | Esempi: Vx Works, QNX, Windows CE |
Tipi di RTOS
Possiamo classificare il sistema operativo in tempo reale principalmente in tre parti
- Sistema operativo in tempo reale difficile
- Sistema operativo morbido in tempo reale
- Sistema operativo stabile in tempo reale
1. Sistema operativo in tempo reale difficile
Cominciamo a capire questo tipo di sistema operativo usando un esempio, l'esempio dal vivo di esso è il sistema di controllo del volo. All'interno del sistema di controllo di volo, qualunque compito sia dato dal pilota sotto forma di input, dovrebbe essere eseguito in tempo. In un sistema operativo in tempo reale difficile, gli errori di sistema possono essere tollerati. Le caratteristiche dell'Hard RTOS sono:
- Per eseguire le attività in tempo
- Il mancato rispetto della scadenza è fatale
- Tempo di risposta del caso peggiore garantito
- Può portare a un guasto del sistema
2. Sistema operativo in tempo reale morbido
L'esempio più semplice di utilizzo di soft RTOS è il database online, poiché all'interno di soft RTOS il parametro di cui siamo più preoccupati è la velocità. Quindi, le caratteristiche del soft RTOS sono:
- Le attività dovrebbero essere eseguite il più velocemente possibile
- Il completamento tardivo delle attività è indesiderabile ma non fatale
- È possibile che le prestazioni peggiorino
- Non può portare a errori di sistema
3. Sistema operativo in tempo reale fisso
Il braccio robotico utilizzato per raccogliere oggetti può essere considerato uno degli esempi di RTOS aziendale. Qui, all'interno di questa azienda RTOS anche se il processo è ritardato è tollerato.
Vantaggi dell'utilizzo di RTOS gratuito
I seguenti sono i vantaggi dell'utilizzo di RTOS nelle proprie applicazioni.
- Nessun problema con il firewall
- Larghezza di banda ridotta per prestazioni migliori
- Sicurezza e privacy migliorate
- Basso costo, grazie alla riduzione dei componenti hardware e software utilizzati per lo sviluppo
Alcuni dei principali problemi relativi a RTOS
Ora, nonostante abbia molti vantaggi per RTOS nelle applicazioni del mondo reale, ha anche vari svantaggi. Alcuni dei problemi ad esso correlati sono discussi qui.
- Gli interrupt vengono normalmente utilizzati nei programmi per arrestare il programma in esecuzione per deviare il flusso a qualche altra parte importante del codice. Qui, all'interno di RTOS poiché è richiesto un tempo di risposta rapido; si consiglia di disabilitare gli interrupt per il minor tempo possibile.
- Poiché, il kernel dovrebbe anche rispondere a vari eventi, è necessario che abbia una dimensione minore del kernel in modo che si adatti correttamente alla ROM
- Le funzionalità sofisticate di RTOS dovrebbero essere rimosse poiché non esiste il concetto di memoria virtuale come tale al suo interno.
Come usare RTOS
Ora che sai cos'è RTOS e dove puoi usarlo, per iniziare con RTOS normalmente devi usare Tornado o l'ambiente di sviluppo FreeRTOS. Diamo una breve occhiata a entrambi questi ambienti di sviluppo.
Tornado - VxWorks
Tornado è un ambiente integrato per sviluppare applicazioni RTOS embedded correlate in tempo reale sul sistema di destinazione. Tornado è costituito da tre elementi di base elencati di seguito.
1) VxWorks
2) Strumenti per la creazione di applicazioni (compilatore e programmi associati)
3) Ambiente di sviluppo integrato, in grado di gestire, eseguire il debug e monitorare l'applicazione VxWorks
VxWorks è un sistema operativo in tempo reale in rete. Per iniziare con VxWorks dovremmo avere un kit di sviluppo (target) insieme a una workstation. Qui, il kit di sviluppo non è altro che l'host o il componente di destinazione che comunica con il server di destinazione sulla workstation. L'obiettivo qui collega strumenti tornado come la shell e il debugger. Pertanto, utilizzando VxWorks configureremo e costruiremo i sistemi mentre Tornado ci fornisce un'interfaccia utente grafica e strumenti a riga di comando per la configurazione e la compilazione.
Il punto molto importante che emerge qui è che durante l'installazione di tornado all'interno del tuo sistema la directory di installazione dovrebbe utilizzare i nomi di percorso come:
installDir / target. Ad esempio, se desideri memorizzare il tuo tornado in C: \ tornado su un host Windows, il percorso completo dovrebbe essere identificato in quel caso come installDir / target / h / vxworks.h.
Qui, non discuteremo in dettaglio delle funzionalità dei lavori Vx (lo lasceremo per il prossimo tutorial) ma discuteremo di come lo sviluppo può essere fatto usando C ++ all'interno di Vxworks usando WindRiver GNU. WindRiver GNU ci aiuta a fornire un'analisi grafica per quanto riguarda l'interrupt coinvolto durante l'esecuzione e il report sull'utilizzo della memoria.
Ad esempio, la vista sopra indicata di WindRiver spiega il numero del processore associato insieme alla priorità delle attività (tLowPri e tHighPri). Stato di inattività, ovvero la linea di colore verde indica il periodo di tempo durante il quale il processore non è nel suo stato di funzionamento, che si osserva dopo ogni pochi secondi. t1, t7, t8 e t9 non sono altro che i vari processori utilizzati. Qui stiamo selezionando solo il processore t7.
Quindi, questo Windriver è in grado di richiamare sia VxWorks che le subroutine del modulo dell'applicazione. È possibile avviare l'applicazione Windriver dalla barra degli strumenti di avvio di tornado (pulsante -> i) in seguito, fare clic sul menu e quindi fare clic su shell. Infine, dal prompt dei comandi digitare "> windsh target server".
Ora per programmare utilizzando C ++, è importante includere il componente INCLUDE_CPLUS_DEMANGLER, questo componente demangler consente ai simboli della shell di destinazione di restituire forme leggibili dall'uomo di nomi di simboli C ++. Prima di scaricare il modulo C ++ sulla destinazione Vxworks, segui il processo noto come munching. Qui, sgranocchiare si riferisce a una fase di elaborazione host aggiuntiva.
Compilare il programma sorgente dell'applicazione C ++ e ottenere ad esempio il file hello.cpp. Successivamente eseguilo per sgranocchiare il.o e compilare il file ctdt.c generato. Inoltre, collega l'applicazione con ctdt.o per generare un modulo scaricabile, hello.out all'interno di VxWorks. L'output dopo aver eseguito questo VxWorks sarà un file make che verrà utilizzato su qualche destinazione.
RTOS gratuito
Generalmente, ogni volta che iniziamo con RTOS generalmente preferiamo Vx Works RTOS. Ma qui facciamo una breve discussione sull'RTOS gratuito, che può essere utilizzato anche dai principianti per passare attraverso il concetto di sistema operativo in tempo reale. RTOS gratuito è sviluppato da Richard Barry e dal team di FreeRTOS, inoltre è di proprietà di Real time engineer ltd ma è gratuito e può essere semplicemente scaricato facendo clic sul collegamento sottostante
Scarica ROTS gratuiti
L'ultima versione di RTOS gratuito in uso al momento di questo articolo è la versione 10, indicata come FreeRTOS V10.
Il più grande vantaggio dell'RTOS gratuito che lo rende superiore in termini di altri RTOS è il suo comportamento indipendente dalla piattaforma in termini di hardware, cioè il codice c che useremo per eseguire un sistema operativo può essere eseguito su varie piattaforme con architettura diversa. Quindi, indipendentemente dal fatto che tu stia usando il microcontrollore 8051 o qualche ultimo microcontrollore ARM, il codice che hai scritto insieme al processo di esecuzione sarà simile per entrambi.
Ci sono molti altri vantaggi nell'usare RTOS gratuito su Vx e altri strumenti operativi RTOS. Alcuni di loro possono essere definiti come:
- Fornisce test più semplici
- Promuove il concetto di riusabilità del codice
- Minor tempo di inattività
- Facile manutenibilità
- Estrarre le informazioni sui tempi
Inoltre, il Kernel di base, dove Kernel si riferisce al componente centrale di un sistema operativo che è presente all'interno dell'RTOS gratuito, lo rende accessibile per varie applicazioni. Poiché è facile collegare moduli espansi sui sistemi operativi per ottenere più applicazioni gratuite, RTOS diventa più potente.
Uno degli esempi di utilizzo di RTOS gratuito può essere spiegato utilizzando il concetto di combinazione di RTOS gratuito con Nabto. Nabto è un dispositivo web gratuito utilizzato per trasferire le informazioni dal dispositivo al browser.
Pertanto, la combinazione di RTOS gratuito con Nabto lo rende un piccolo pezzo di codice C come spiegato nella figura a. Ora un giorno l'Internet of Things (IOT) è di tendenza e ogni dispositivo IOT a cui accediamo ha un URL univoco su Internet e la tecnologia consente connessioni punto-punto sicure e con larghezza di banda estremamente ridotta. In assenza di connettività Internet questa combinazione può essere utile. Pertanto, RTOS gratuito è una scelta popolare quando si tratta di implementare l'IOT.