Un sistema operativo in tempo reale è un tipo specifico di sistema operativo per computer che completa le attività in modo molto affidabile. Questi sistemi operativi sono in grado di acquisire informazioni e produrre risultati in tempo reale. Ciò significa che i risultati delle informazioni sono pronti nello stesso momento in cui sono necessari i risultati. Questo tipo di sistema operativo è il componente informatico tradizionale di una filosofia di elaborazione e produzione più ampia chiamata calcolo in tempo reale.
Un sistema operativo standard per computer non utilizza la velocità come fattore determinante. La velocità con cui viene completato un processo può essere molto importante per l’utente, ma il sistema operativo stesso è completamente indifferente. Poiché la velocità non è importante per la programmazione, un processo può essere interrotto o arrestato mentre viene eseguito un altro processo, riconosciuto come più importante.
Questo tipo di elaborazione crea un livello di variabilità nell’output inaccettabile in alcuni sistemi. Alcuni sistemi informatici gestiscono macchinari costosi, governano servizi pubblici o svolgono altre attività che coinvolgono migliaia di vite umane o milioni di dollari. Questi computer necessitano di un livello affidabile di output per prevenire incidenti e salvare vite e denaro.
Per raggiungere questo livello di affidabilità, le persone utilizzano un sistema operativo in tempo reale. Questi sistemi utilizzano il tempo come fattore determinante. Il tempo necessario alle informazioni per entrare nel sistema e i calcoli effettuati utilizzando tali informazioni sono strettamente controllati.
Uno dei fattori principali di un sistema operativo in tempo reale ruota attorno alla prioritizzazione dei processi. In un sistema operativo standard, alcuni processi interni del sistema sono più importanti di qualsiasi altro. Questi processi non possono essere interrotti dalle applicazioni, indipendentemente dalla priorità. Un sistema operativo in tempo reale consentirà al processo dell’applicazione di avere la massima priorità, se necessario. Ciò consente calcoli importanti il tempo e la potenza di cui hanno bisogno per finire entro una certa finestra.
Un sistema operativo in tempo reale ha un livello di output molto affidabile, spesso a scapito della velocità generale. Poiché il tempo del sistema e del processore è più variabile, è possibile che le azioni non importanti richiedano più tempo per essere completate. L’indirizzamento e lo scambio della memoria sono sia più lenti che più stabili rispetto a un sistema tradizionale. In sostanza, ci vuole più tempo per scrivere e recuperare le informazioni, ma le informazioni sono sempre lì quando è necessario.
Esistono due tipi fondamentali di sistemi operativi in tempo reale, hard e soft. In un sistema rigido, l’informazione deve essere dove deve essere entro un certo lasso di tempo o l’informazione è inutile. Si tratta spesso di sistemi critici che regolano le apparecchiature mediche, i servizi pubblici o gli scambi di denaro. In un sistema soft, c’è più margine di manovra esattamente quando l’informazione è richiesta. Questo stile è comune in luoghi come i sistemi di navigazione e le apparecchiature in costante aggiornamento come i radar.