Real-Time temporal en Windows IoT Enterprise

Windows 10 software en tiempo real es una nueva característica con Windows 10 IoT Enterprise, versión 21H2 que permite a los creadores de dispositivos introducir funcionalidades en tiempo real suaves en sus dispositivos.

Este comportamiento en tiempo real se introduce a través de 4 configuraciones clave:

  1. Aislamiento de CPU: migra las molestias de nivel del sistema de las CPU aisladas, lo que reduce la vibración potencial a la aplicación en tiempo real del usuario.

  2. Anclaje personalizado de ISR/DPC en CPU aisladas: todas las interrupciones de hardware se enrutan al sistema y a los núcleos que no son en tiempo real, pero al escribir un controlador ISR/DPC personalizado, puede enrutar las interrupciones específicas del dispositivo a los núcleos en tiempo real.

  3. Herencia de prioridad para exclusiones mutuas: esta configuración garantiza que se ejecute el subproceso de prioridad más alta, incluso en escenarios complejos multiproceso.

  4. Hasta 16 niveles de prioridad de subprocesos RT: esto permite al programador dividir los recursos entre las tareas en tiempo real para garantizar que los más importantes se ejecuten primero.

¿Qué es un sistema operativo Real-Time?

Cuando se ejecuta un programa, un sistema operativo normal proporciona resultados deterministas, pero permite un tiempo no determinista para completar una tarea. En un sistema operativo en tiempo real, los resultados de la ejecución del programa y el tiempo necesario para obtener esos resultados son (al menos parcialmente) deterministas.

Real-Time duro frente a Real-Time suave

Un sistema operativo en tiempo real duro es aquel en el que el tiempo que se tarda es determinista hasta un momento exacto. Estos sistemas operativos se implementan en casos de uso en los que el error al obtener resultados a tiempo representa un error total del sistema. Entre los ejemplos se incluyen los microcontroladores dentro de un motor de automóvil o avión, impresoras, cortadores láser, etc. Azure Real-Time sistema operativo es un ejemplo de este tipo de sistema operativo.

Un sistema operativo en tiempo real flexible es aquel en el que hay una pequeña ventana de tiempo para la finalización del programa en lugar de un momento preciso debido a un poco de vibración del sistema operativo. Los sistemas en tiempo real suaves, aunque menos precisos, se pueden ejecutar en varios núcleos e imponer menos restricciones en las aplicaciones. Este es el tipo de rendimiento en tiempo real que puede esperar de Windows 10 IoT Enterprise después de usar esta guía.

¿Cuándo necesito Real-Time rendimiento?

El rendimiento en tiempo real no es necesariamente un rendimiento más rápido. Es simplemente un rendimiento predecible. Si desea mejorar el rendimiento general del sistema, es posible que el tiempo real no sea su mejor ruta para lograrlo. Sin embargo, si tiene una restricción real (por ejemplo, un cálculo que debe realizarse antes de que el entorno de un robot cambie o un motor que se debe activar antes de que una cinta transportadora se mueva a lo largo), entonces el tiempo real suave podría ser lo que necesita.

Los dispositivos en tiempo real suaves se usan con más frecuencia dentro de un bucle de control más amplio para desencadenar comportamientos desde una máquina de estado. Los bucles de control en tiempo real más pequeños se encuentran dentro del bucle más amplio y funcionan en microcontroladores independientes hasta que la máquina en tiempo real flexible proporciona una entrada para cambiar su comportamiento. Muchos bucles de comando y control tienen demandas de tiempo de ciclo extenuantes y necesitan usar un dispositivo en tiempo real duro en el bucle para el control directo.

Casos de uso de soft Real-Time

Siguiente: Cómo configurar un dispositivo para Real-Time rendimiento