Home » I sistemi operativi real-time: come funzionano e alcuni esempi
Un sistema operativo real-Time (RTOS) è un sistema operativo sviluppato per il supporto di applicazioni software real time. Questi sistemi vengono comunemente impiegati in ambito industriale e in tutti quei contesti in cui sia necessario ottenere una risposta dal sistema in un tempo massimo prefissato. Scopriamo ulteriori dettagli su questi sistemi.
Esistono due principali tipologie di sistemi real-time: i sistemi hard real-time, e i sistemi soft real-time. Questi si differenziano a seconda del fatto che il tempo entro cui il sistema deve espletare una certa funzione venga misurato in valore assoluto, o come valore medio. I sistemi soft real-time, infatti, presentano un ritardo maggiore rispetto a quelli hard real-time.
Un sistema operativo real-time deve presentare le seguenti caratteristiche:
Con riferimento al concetto di “tempo predeterminato” dei sistemi real-time dobbiamo precisare che non si intende la velocità in senso stretto, bensì la possibilità di prevedere e predeterminare con esattezza quali saranno i tempi di esecuzione di una determinata operazione.
Quando un processore deve eseguire più operazioni in parallelo, deve applicare un strategia di gestione che sia in grado di utilizzare in modo sequenziale le sue risorse, riuscendo così a determinare le attività previste per i differenti task entro le relative scadenze.
Un sistema operativo capace di soddisfare questa condizione prende il nome di “schedulabile”.
Gli algoritmi di scheduling real-time possono essere distinti in:
Uno degli esempi più rappresentativi delle funzionalità di un sistema real-time è la sua applicazione per il controllo della temperatura del nucleo di una centrale nucleare. Si tratta a tutti gli effetti di un sistema hard real-time di fondamentale importanza.
Un altro esempio simile è quello del controllo di processo di un laminatoio per l’acciaio: la laminazione deve essere eseguita entro un certo intervallo di tempo dopo la fusione dell’acciaio, viceversa le lastre si induriscono e la loro lavorazione non può proseguire.
Esempi di sistemi soft-real time, invece, sono quelli del funzionamento di un lettore DVD, o di uno sportello automatico per la distribuzione delle banconote; in entrambi i casi il sistema deve saper restituire dei risultati in tempi accettabili, senza però che il mancato rispetto di questi tempi sia la causa di conseguenze dannose.
Nel corso degli anni EDALAB ha sempre favorito l’utilizzo di un RTOS per lo sviluppo dei propri firmware rispetto ad una soluzione bare metal.
L’utilizzo di un RTOS facilita lo sviluppo di molti progetti, li rende più mantenibili, portabili, sicuri ed estensibili.
La funzionalità che da sola è motivo sufficiente per scegliere un RTOS è il kernel che gestisce il multitasking; permette allo sviluppatore di dividere un problema complesso in task più semplici che quindi possono essere gestiti con più facilità anche da diversi membri del team.
Il multitasking dà all’applicazione una struttura semplice ma solida su cui costruire tutte le funzionalità necessarie.
Completano l’offerta del kernel servizi aggiuntivi come funzionalità di comunicazione tra i task, primitive di sincronizzazione, timers e gestione delle risorse, memoria e interrupts.
Noi in EDALAB utilizziamo principalmente due implementazioni di RTOS per lo sviluppo dei nostri firmware.
Il primo è FreeRTOS, utilizzato sulle piattaforme STM32 di STMicroelectronics e Kinetis di NXP Semiconductors.
FreeRTOS è forse il più conosciuto tra i sistemi operativi real-time e con il suo supporto a oltre 40 architetture hardware è sicuramente il leader del mercato tra i dispositivi vincolati da risorse limitate. I suoi punti di forza sono:
Il secondo è TI RTOS di Texas Instruments. in questo caso utilizziamo questo RTOS sui chip della piattaforma SimpleLink dedicati alla comunicazione con dispositivi Zigbee e Bluetooth Low Energy.
Questo RTOS è fortemente integrato nell’ecosistema Texas Instruments e per questo supportato solo da chip prodotti da Texas Instruments.
Da un lato questo facilita sicuramente la scrittura del codice iniziale su questi chip con molti servizi, driver e stack di rete già inclusi nel pacchetto ma dall’altro limita la possibilità di riutilizzo del codice su altre piattaforme.
Leggi ancora
Parliamo insieme del tuo progetto tecnologico. EDALAB s.r.l. | P.IVA 03706250234| Tel. 045 257 0357
Azienda con sistema qualità certificato da Dasa Ragister– UNI EN ISO 9001:2015
Termini e Condizioni