Soft Real-Time in Windows IoT Enterprise

Windows 10 soft real-time è una nuova funzionalità con Windows 10 IoT Enterprise, versione 21H2 che consente ai produttori di dispositivi di introdurre funzionalità soft in tempo reale sui propri dispositivi.

Questo comportamento in tempo reale viene introdotto tramite 4 impostazioni chiave:

  1. Isolamento della CPU: esegue la migrazione dei disturbi a livello di sistema dalle CPU isolate, riducendo il potenziale instabilità all'applicazione in tempo reale dell'utente

  2. Pin ISR/DPC personalizzato su CPU isolate: tutti gli interrupt hardware vengono instradati al sistema e ai core non in tempo reale, ma scrivendo un driver ISR/DPC personalizzato è possibile instradare gli interrupt specifici del dispositivo ai core in tempo reale.

  3. Ereditarietà della priorità per i mutex: questa impostazione garantisce l'esecuzione del thread con priorità più alta, anche in scenari complessi multithreading.

  4. Fino a 16 livelli di priorità del thread RT: in questo modo il programmatore può modificare le risorse tra le attività in tempo reale per garantire che le attività più importanti vengano eseguite per prime.

Che cos'è un sistema operativo Real-Time?

Quando si esegue un programma, un sistema operativo normale fornisce risultati deterministici, ma consente un tempo non deterministico per completare un'attività. In un sistema operativo in tempo reale i risultati dell'esecuzione del programma e il tempo impiegato per ottenere tali risultati sono (almeno parzialmente) deterministici.

Real-Time hard vs. Soft Real-Time

Un sistema operativo in tempo reale difficile è quello in cui il tempo impiegato è deterministico per un momento esatto. Questi sistemi operativi vengono distribuiti nei casi d'uso in cui il mancato recupero dei risultati in tempo rappresenta un errore totale del sistema. Alcuni esempi includono micro-controller all'interno di un motore o di un aereo, stampanti, taglie laser e così via. Azure Real-Time sistema operativo è un esempio di sistema operativo di questo tipo.

Un sistema operativo soft in tempo reale è quello in cui c'è un piccolo intervallo di tempo per il completamento del programma piuttosto che un momento preciso a causa di un po 'di instabilità dal sistema operativo. I sistemi in tempo reale soft, anche se meno precisi, possono essere eseguiti su più core e imporre meno restrizioni alle applicazioni. Questo è il tipo di prestazioni in tempo reale che è possibile prevedere da Windows 10 IoT Enterprise dopo aver usato questa guida.

Quando è necessario Real-Time prestazioni?

Le prestazioni in tempo reale non sono necessariamente più veloci. Si tratta di prestazioni prevedibili. Se si desidera migliorare le prestazioni complessive del sistema, il soft real-time potrebbe non essere il percorso migliore per raggiungerlo. Tuttavia, se si dispone di un vincolo reale (ad esempio, un calcolo che deve essere eseguito prima che l'ambiente di un robot cambi o un motore che deve essere attivato prima che un nastro trasportatore si muova lungo) allora soft real-time potrebbe essere ciò di cui hai bisogno.

I dispositivi in tempo reale soft vengono usati più spesso all'interno di un ciclo di controllo più ampio per attivare i comportamenti da una macchina a stati. I cicli di controllo hard-time più piccoli si trovano all'interno del ciclo più ampio e operano su micro-controller indipendenti fino a quando il computer in tempo reale flessibile fornisce un input per modificarne il comportamento. Molti cicli di comando e controllo hanno richieste di tempo di ciclo strenuo e devono usare un dispositivo hard in tempo reale nel ciclo per il controllo diretto.

Casi d'uso di soft Real-Time

Successiva: Come configurare un dispositivo per le prestazioni di Real-Time