Le principali caratteristiche di un sistema real-time
Un sistema per poter operare in tempo reale o meglio sistema real-time deve possedere le seguenti caratteristiche:
- Deve avere una architettura detta “multithread preemptive” che sia in grado quindi di gestire molteplici sottoprocessi;
- Deve essere di tipo deterministico ed operare con un comportamento predeterminabile in ogni situazione;
- Deve essere in grado di gestire la sincronizzazione dei sottoprocessi;
- Deve in sostanza garantire tempi di intervento predicibili.
Si rammenta che tempo predeterminato non è sinonimo di velocità: per un sistema real-time è importante solo poter prevedere in modo sicuro quale sarà il tempo di esecuzione di una determinata operazione e non che quella operazione venga eseguita in fretta.
I prodotti delle famiglie Windows e Unix non soddisfano le caratteristiche del real-time: ad esempio, pur gestendo l’esecuzione di più processi contemporaneamente, non è possibile prevedere in alcun modo quale sarà il tempo di esecuzione di un singolo processo.
Inoltre l’utilizzo di hard disk per la conservazione dei dati rende impossibile stabilire con certezza quanto tempo sarà necessario per reperire l’informazione utile alla corretta esecuzione del codice.