Soft Real-Time unter Windows IoT Enterprise

Windows 10 softe Echtzeit ist ein neues Feature mit Windows 10 IoT Enterprise Version 21H2, mit dem Gerätehersteller weiche Echtzeitfunktionen auf ihren Geräten einführen können.

Dieses Echtzeitverhalten wird durch vier Schlüsseleinstellungen eingeführt:

  1. CPU-Isolation: Migriert die Störungen auf Systemebene von den isolierten CPUs, wodurch potenzieller Jitter zur Echtzeitanwendung des Benutzers reduziert wird.

  2. Benutzerdefinierte ISR/DPC-Anheftung auf isolierten CPUs: Alle Hardware-Interrupts werden an die System- und Nicht-Echtzeitkerne weitergeleitet, aber durch das Schreiben eines benutzerdefinierten ISR/DPC-Treibers können Sie Ihre gerätespezifischen Interrupts an die Echtzeitkerne weiterleiten.

  3. Prioritätsvererbung für Mutexe: Diese Einstellung stellt sicher, dass der Thread mit der höchsten Priorität auch in komplexen Multithreadszenarien ausgeführt wird.

  4. Bis zu 16 RT-Threadprioritätsstufen: Dadurch kann der Programmierer Ressourcen auf Echtzeitaufgaben verteilen, um sicherzustellen, dass die wichtigsten zuerst ausgeführt werden.

Was ist ein Real-Time Betriebssystem?

Wenn ein Programm ausgeführt wird, liefert ein normales Betriebssystem deterministische Ergebnisse, ermöglicht aber eine nicht deterministische Zeit, um eine Aufgabe abzuschließen. In einem Echtzeitbetriebssystem sind sowohl die Ergebnisse der Programmausführung als auch die Zeit, die zum Abrufen dieser Ergebnisse erforderlich ist, (zumindest teilweise) deterministisch.

Hard Real-Time im Vergleich zu soften Real-Time

Ein hartes Echtzeitbetriebssystem ist eines, bei dem die benötigte Zeit deterministisch bis zu einem genauen Moment ist. Diese Betriebssysteme werden in Anwendungsfällen bereitgestellt, in denen fehler beim Abrufen von Ergebnissen zur Zeit einen Gesamtsystemfehler darstellt. Beispiele sind Mikrocontroller innerhalb eines Automotors oder Flugzeugs, Drucker, Laserschneider usw. Das Azure Real-Time-Betriebssystem ist ein Beispiel für ein solches Betriebssystem.

Ein weiches Echtzeitbetriebssystem ist ein Betriebssystem, bei dem es ein kleines Zeitfenster für den Programmabschluss gibt, anstatt einen genauen Moment aufgrund eines jitter durch das Betriebssystem. Weiche Echtzeitsysteme können, obwohl sie weniger präzise sind, auf mehreren Kernen ausgeführt werden und weniger Einschränkungen für Anwendungen erzwingen. Dies ist die Art der Echtzeitleistung, die Sie von Windows 10 IoT Enterprise erwarten können, nachdem Sie dieses Handbuch verwendet haben.

Wann benötige ich Real-Time Leistung?

Die Echtzeitleistung ist nicht unbedingt schneller. Es handelt sich lediglich um eine vorhersagbare Leistung. Wenn Sie eine bessere Gesamtleistung des Systems wünschen, ist softe Echtzeit möglicherweise nicht der beste Weg, um dies zu erreichen. Wenn Sie jedoch eine reale Einschränkung haben (z. B. eine Berechnung, die durchgeführt werden muss, bevor sich die Umgebung eines Roboters ändert, oder ein Motor, der aktiviert werden muss, bevor ein Förderband bewegt wird), dann ist es möglicherweise das, was Sie benötigen.

Soft-Echtzeitgeräte werden häufiger innerhalb einer breiteren Steuerschleife verwendet, um Verhalten von einem Zustandscomputer auszulösen. Kleinere harte Echtzeitsteuerungsschleifen befinden sich innerhalb der breiteren Schleife und arbeiten mit unabhängigen Mikrocontrollern, bis die weiche Echtzeitmaschine eine Eingabe bereitstellt, um ihr Verhalten zu ändern. Viele Befehls- und Steuerungsschleifen haben hohe Zykluszeitanforderungen und müssen ein hartes Echtzeitgerät in der Schleife für die direkte Steuerung verwenden.

Anwendungsfälle für softe Real-Time

Weiter: Einrichten eines Geräts für Real-Time Leistung