Sistemi in Tempo Reale (RTOS): Quando la Tempestività è Essenziale
Per molti sistemi embedded, la correttezza di un'operazione non dipende solo dal risultato, ma anche dal tempo in cui viene prodotta. Questi sono i Sistemi Embedded in Tempo Reale (Real-Time Systems). Un airbag che si attiva con un ritardo di un secondo è inutile.
Per gestire compiti multipli con vincoli temporali stringenti, si utilizza un Sistema Operativo in Tempo Reale (RTOS). A differenza di un sistema operativo generale (come Windows), un RTOS fornisce un scheduling prevedibile dei task. Assegna la CPU ai diversi task in base a priorità rigorose, garantendo che i task più critici vengano sempre eseguiti entro una scadenza prestabilita.
Gli RTOS sono essenziali in applicazioni critiche per la sicurezza come i controlli di un aereo, i dispositivi medicali o i sistemi frenanti di un'auto (ABS). Forniscono strumenti come semafori, code e mutex per una comunicazione affidabile e sincronizzata tra task concorrenti.
FAQ
D: Tutti i sistemi embedded sono in tempo reale?R: No. Molti sistemi, come una macchina per caffè, sono "reattivi" ma non hanno vincoli di tempo così severi da richiedere un RTOS. Sono noti come sistemi "soft real-time".
D: Cos'è un task (o thread)?R: In un RTOS, un task è un programma indipendente che sembra essere eseguito in parallelo agli altri. L'RTOS alterna rapidamente l'esecuzione tra i task, dando l'illusione del parallelismo su un singolo core.
