La maggior parte dei sistemi operativi sono progettati per il multitasking. Ciò significa che diversi processi saranno in esecuzione contemporaneamente. Ma la realtà è che ogni processore esegue o esegue solo un’attività o un comando alla volta. Ogni sistema operativo è dotato di uno scheduler. Questo è un centro di comando programmato che dà la priorità cambiando le azioni a seconda dei risultati attesi.
La definizione di un software in tempo reale è quella che viene fornito con uno scheduler che decide quale attività deve avvenire in un determinato momento. In effetti, tutti i dispositivi informatici sono dotati di scheduler ma la loro esecuzione non è avanzata. Strutture complesse come gli impianti di produzione richiedono maggiore precisione, velocità e personalizzazione.
Perché scegliere il software in tempo reale?
In un ambiente di produzione, vengono eseguite più attività contemporaneamente. È necessario uno scheduler per determinare quale azione è data priorità e quale deve attendere. La progettazione di software in tempo reale (RTS) deve garantire il determinismo. Questo può anche essere considerato come prevedibilità. Questa è la programmazione che determina l’attività che prende la preferenza. Il mancato rispetto di un ordine ragionevole porta a risultati negativi.
C’è un elemento di scadenza per ogni RTS. Durante la programmazione, il sistema deve rispondere a un comando entro un intervallo di tempo impostato. Perdere questa scadenza può essere catastrofico, come nel caso di un airbag dispiegamento, o può semplicemente portare risultati indesiderati, come nella produzione in cui la qualità di un prodotto è ridotta.
Che cosa determina il software in tempo reale di alta qualità?
La programmazione ha dato origine a numerose applicazioni che possono essere utilizzate per scopi di automazione. Generalmente, il software in tempo reale è un’applicazione le cui prestazioni sono considerate attuali o immediate dall’utente. Tuttavia, alcuni fattori determinano se si qualifica come RTS o meno.
- Worst case Execution time (WCET): Questo è l’estremo a cui un’applicazione delude l’utente. Dovrebbe essere il meno possibile.
- Tempo necessario per eseguire un’attività: La tecnologia e l’automazione sono progettate per ridurre il tempo necessario per eseguire determinate attività. Il tempo deve essere sincronizzato o allineato ad altre attività correlate. Qui, la velocità non è importante quanto la sincronizzazione delle attività.
- Numero di attività su una piattaforma hardware: il software dovrebbe svolgere il maggior numero possibile di attività utilizzando hardware limitato. Questo corrisponde agli obiettivi di calcolo ed è il principio alla base del multitasking.