sistemi real-time
Sistema operativo capace di reagire a eventi esterni (come un interrupt) con un tempo di risposta molto breve. Più precisamente, in un sistema real-time il tempo massimo che passa tra lo stimolo d’ingresso e la risposta d’uscita risulta fissato come specifica. In tali sistemi multitasking (detti anche RTOS, Real-time operating systems) la correttezza dipende dunque sia dai valori assunti dall’uscita sia dal tempo impiegato per generarli. Si dice allora che un sistema real-time è sincronizzato con il tempo dell’ambiente esterno al sistema. In generale tale proprietà richiede la capacità di interrompere un programma in esecuzione ed eseguirne uno differente. La gestione delle priorità che si vengono così a creare viene effettuata da un apposito software in combinazione con un hardware dedicato. Il kernel di un sistema operativo RTOS è fornito di un task manager che effettua la gestione delle precedenze. Il tempo di reazione del sistema a un interrupt è anzitutto determinato dal tempo di passaggio (switching time) tra due task. Per gestire tali task in modo sincronizzato con l’ambiente esterno è previsto un apposito strumento di misura temporale (real-time clock) e l’impiego di particolari algoritmi (scheduling algorithms). Le deadlines richieste possono essere soddisfatte in modo stringente (hard real-time) oppure su basi statistiche (soft real-time). Le applicazioni principali si hanno nel campo dei sistemi di difesa militare, nella robotica e nell’automazione, nel controllo di impianti complessi (nucleari o chimici), nel monitoraggio aereo o ferroviario, nei sistemi di telecomunicazioni, nei cosiddetti sistemi embedded, particolari sistemi computerizzati progettati per applicazioni speciali e dotati di un numero limitato di funzioni (per es. telefoni cellulari, riproduttori musicali, controllori domestici e così via). Alcuni RTOS presenti attualmente sul mercato sono RTLinux, QNX, VxWorks, OS-9, Symbian OS.