FAQ

Frequently Asked Questions

Was ist das Besondere am RTS Hypervisor (im Vergleich zu anderen Lösungen)?

Als Hypervisor vom Typ I (bare metal) teilt der RTS Hypervisor den PC sicher in separate Hardware-Partitionen auf, die jeweils aus einem oder mehreren CPU-Kernen, Speicher, Timern und I/O-Geräten bestehen. Hardware wird üblicherweise nicht zwischen mehreren Betriebssystemen geteilt, was auch CPU-Kerne einschließt. D.h. die Betriebssysteme laufen parallel, ohne sich gegenseitig zu unterbrechen. Es stehen verschiedene Ausführungsmodi zur Verfügung: Von der vollständigen Isolierung bis hin zur harten Echtzeit. Im Gegensatz zu Echtzeit-Erweiterungen (bei denen Ressourcen für Echtzeit-Aufgaben von einem Host-Betriebssystem bereitgestellt werden) stellt der RTS Hypervisor sicher, dass Echtzeit-Aufgaben nicht von anderen Betriebssystemen kompromittiert werden können. Ein Betriebssystem offen für Endbenutzer und / oder mit der Außenwelt verbunden zu haben, während ein anderes Betriebssystem kritischen Code ausführt, ist einer der typischen Anwendungsfälle. Einen Mix aus Echtzeit- und Nicht-Echtzeit-Betriebssystemen zu betreiben ist nur eine Frage der Konfiguration.

Wie nutzt der RTS Hypervisor Virtualisierungstechnologie, ohne die Echtzeitfähigkeit zu beeinträchtigen?

Der RTS Hypervisor bietet verschiedene Betriebsmodi für Betriebssysteme.

  • Der vollständig "überwachte Modus", bei dem Betriebssysteme in einer sicheren Partition vollständig und ohne Hardwareanpassungen ausgeführt werden. In diesem Modus ist gewährleistet, dass das Betriebssystem andere parallel laufende Betriebssysteme in keiner Weise beeinträchtigen oder beeinflussen kann. Dies geht jedoch, wenn auch minimal, zu lasten der Performance.
  • Um harte Echtzeit und Determinismus für Echtzeitcode oder Echtzeitbetriebssysteme zu gewährleisten, verfügt der RTS Hypervisor über einen Deployment-Modus, den sogenannten "privilegierten Modus". Im privilegierten Modus behalten Betriebssysteme vollen Hardware-Zugriff und verwenden eine schlanke Paravirtualisierungsschnittstelle, die vom RTS Hypervisor bereitgestellt wird. Dadurch können Betriebssysteme mit nativer Geschwindigkeit laufen, ohne dass der Hypervisor Latenzen hinzufügt.
  • Sicherheitsoptionen wie MMU-Virtualisierung, I/O-Einschränkungen und IOMMU können selektiv aktiviert werden.
  • Gemeinsame Ressourcen wie z.B. Last Level Cache oder Speicherbuszugriff können zwischen den Betriebssystemen priorisiert werden.
Welche Anpassungen sind nötig, um den RTS Hypervisor auf einer bestimmten Plattform zu betreiben?

Der RTS Hypervisor ist sehr flexibel. Unabhängig davon, ob ein Low-Power-Modul oder ein Multi-Socket-Server verwendet wird, wird die exakt gleiche Hypervisor-Binärdatei ausgeführt. Damit ist der RTS Hypervisor auf jedem PC lauffähig und anwendungsspezifische "Anpassungen" sind nur eine Frage der Konfiguration, die unsere Kunden selbst durchführen können.

Welche Prozessoren und Chipsätze werden unterstützt?

Der RTS Hypervisor läuft auf jedem modernen x86-basierten PC mit beliebigem Chipsatz. Bestimmte Funktionen (z.B. IOMMU) können Hardware-Unterstützung erfordern.

Welche Prozessor-/Chipsatzfunktionen werden benötigt oder empfohlen?

Für die Zuweisung des Last Level Caches ist CAT erforderlich.

Zum Schutz des Speichers auf Geräteebene und zur Verlagerung von Betriebssystemen im Speicher wird eine IOMMU benötigt.

Führen Shared Caches zu Jitter oder Latenzen?

Während Caches im Allgemeinen Jitter reduzieren, können Shared Caches dazu führen, dass Betriebssysteme sich gegenseitig beeinflussen. Wenn der Prozessor die Cache Allocation Technology (CAT) unterstützt, kann ein Cache, der sonst gemeinsam genutzt werden würde, in OS-exklusive Caches aufgeteilt werden.

Welches BIOS oder welche Firmware wird unterstützt?

Es werden alle gängigen BIOS- oder EFI-Basis-Firmware (mit oder ohne CSM) unterstützt. Wenn allgemein übliche Betriebssysteme ohne Änderungen auf dem PC laufen, läuft der RTS Hypervisor ebenfalls auf solch einem System.

Welche BIOS- oder Firmware-Features werden benötigt oder empfohlen?

Um den RTS Hypervisor zu nutzen sind keine speziellen Funktionen erforderlich. Es kann jedoch sein, dass bestimmte wünschenswerte Hardware-Features durch die Firmware aktiviert werden müssen.

Wie bootet das System?

Nach der regulären Firmware-Ausführung lädt ein Bootloader den Hypervisor, der dann die Hardware initialisiert und die verschiedenen Betriebssysteme in der gewählten Boot-Sequenz startet. Sowohl Bootloader als auch Hypervisor können so konfiguriert werden, dass sie für den Endbenutzer unsichtbar sind.

Welche Betriebssysteme laufen out of the box?

Der RTS Hypervisor unterstützt derzeit Microsot Windows 10 und älter, Windows Embedded Compact, VxWorks, RTOS-32, QNX, Linux, Echtzeit-Linux und T-Kernel. Eine Unterstützung anderer Betriebssysteme kann bei Bedarf jederzeit hinzugefügt werden. Unterschiedliche Betriebssysteme können in verschiedenen Ausführungsmodi gleichzeitig ausgeführt werden und jede Mischung aus SMP und Single-CPU, 32-Bit und 64-Bit ist möglich.

Was wird benötigt, um ein Betriebssystem zu aktualisieren?

Betriebssysteme können jederzeit ohne unsere Hilfe aktualisiert werden, auch durch den Endanwender.

Was ist ein typischer Installationsprozess?

Wenn Ihr Betriebssystem, z.B. Microsoft Windows, eine Installation auf der Festplatte erfordert, können Sie zuerst das/die Betriebssystem(e) installieren und dann mit der Hypervisor-Installation fortfahren. Für den Fall, dass Betriebssysteme keine Installation auf der Festplatte erfordern, kann der RTS Hypervisor auch Betriebssystem Images direkt von einem vorgegebenen Speicherort laden.

Welche Entwicklungswerkzeuge werden genutzt?

Für die die jeweilige OS-Entwicklung können die vom OS Lieferanten vorgesehenen Tools verwendet werden. Für die Konfiguration des RTS Hypervisor sind keine Entwicklungswerkzeuge erforderlich.

Wie kann ich das System debuggen?

Es können alle gängigen Debug-Tools und Schnittstellen verwendet werden. Dazu gehören Tools für das Kernel-Debugging sowie das Applikations-Debugging. Einzigartig am RTS Hypervisor ist die Möglichkeit, Ihr Echtzeit-Target z.B. von einem anderen Kern aus zu debuggen, der Windows parallel über das virtuelle Netzwerk ausführt. Es ist kein spezielles Tool oder Training erforderlich.

Welche Modifikationen sind an Gerätetreibern erforderlich?

Keine, Sie können Geräte einem Betriebssystemen zur exklusiven Nutzung zuordnen und vorhandene Gerätetreiber dann unverändert verwenden.

Welche Geräte werden unterstützt?

Es können beliebige Standard-PCI- oder PCIe-Geräte exklusiv zugeordnet werden (Pass-Through). Geräte wie AHCI- oder xHCI-Controller können zwischen Betriebssystemen geteilt werden.

Kann PCI Pass-Through verwendet werden?

Ja, Pass-Through ist eigentlich der Standardzuweisungsmechanismus, der vom RTS Hypervisor verwendet wird. Speicher- und Geräteschutz wird durch MMU-Virtualisierung und IOMMU erreicht.

Können Geräte zwischen Gastbetriebssystemen geteilt werden?

Ja, AHCI-Sharing erlaubt die Zuweisung von Laufwerken oder Festplattenpartitionen und xHCI-Sharing die Zuweisung von xHCI-Ports.

Welche Feldbusse und Echtzeit-Ethernet-Protokolle werden unterstützt?

Da PCI- und PCIe-Geräte exklusiv zugewiesen werden und vorhandene Gerätetreiber verwendet werden können, kann jedes Feldbus- oder Echtzeit-Ethernet-Protokoll verwendet werden.

Kann Time-Sensitive Networking (TSN) mit dem RTS Hypervisor verwendet werden?

Es können alle Netzwerkgeräte zugeordnet und vorhandene Treiber und Protokolle, einschließlich TSN dann verwendet werden.

Wie können Gastbetriebssysteme synchronisiert werden?

Über ein internes (TCP/IP) virtuelles Netzwerk oder ein inter-OS-Event-System.

Wird Non-Uniform Memory Access (NUMA) unterstützt?

Ja, wenn mehrere Speichercontroller vorhanden sind, können den Betriebssystemen individuelle Speicherknoten zugeordnet werden.

Auf welcher Virtualisierungslösung basiert der RTS Hypervisor?

Der RTS Hypervisor basiert auf keiner anderen Software. Dies ist wichtig, da bestehende Lösungen wie KVM oder XEN für andere Anwendungsfälle konzipiert sind. Der RTS Hypervisor wurde ausschließlich von Real-Time Systems in Ravensburg entwickelt und unterliegt keinen Exportbeschränkungen.

Welcher Virtualisierungs-Overhead wird erwartet?

Bei vollständiger Isolierung können einige Prozent Virtualisierungs-Overhead gemessen werden. Allerdings gilt es zu bedenken, dass die Ausführung mehrerer Betriebssysteme auf derselben Hardware, von denen jedes mit weniger CPUs und weniger verfügbarem Speicher ausgestattet ist, zu einer geringeren Gesamtleistung in einem Gastbetriebssystem führt im Vergleich zu einer nativen Betriebssystemausführung, bei der die gesamte Hardware verfügbar ist.

Welche Echtzeit-Performance ist garantiert?

Der RTS Hypervisor verfügt über einen Ausführungsmodus, in dem keine Latenzen durch Virtualisierung hinzugefügt werden. In diesem Modus kann der Determinismus eines Betriebssystems sogar besser sein als ohne Hypervisor, wenn man bedenkt, dass der RTS Hypervisor Auswirkungen auf das Energiemanagement reduziert und eine Lastverteilung ermöglicht, d.h. Geräte, die nicht für die Echtzeitanwendung benötigt werden, können von einem anderen Betriebssystem bedient werden. Andererseits kann die Nutzung gemeinsamer Ressourcen auch Auswirkungen auf den Determinismus haben.

Wie schwierig ist das Setup und die Konfiguration?

Desktop oder Server Betriebssysteme wie Windows oder Linux können in gewohnter Weise installiert werden. Die Installation des RTS Hypervisor ist lediglich eine Frage des Austausches des Bootloaders und des Einfügens einiger Dateien in das Dateisystem. Um unsere Kommunikationsmethoden und APIs nutzen zu können, müssen die zur Verfügung gestellten Treiber installiert werden.

Wie viel Training wird empfohlen?

Die Installation des RTS Hypervisors und die Erstkonfiguration ist eine Sache von Minuten und erfordert keine Schulung. Alle darüber hinausgehenden technischen Fragen werden von unserem Support-Team beantwortet.

Können Betriebssysteme unabhängig voneinander neu gestartet werden?

Ja. APIs zum Überwachen, Starten, Stoppen und Neustarten von Betriebssystemen werden bereitgestellt und Berechtigungen können selektiv konfiguriert werden.

Kann die GPU nativ verwendet werden (einschließlich 3D)?

Die reale Grafik (GPU) kann einem Betriebssystem zur Verfügung gestellt werden (dies ist sogar die Voreinstellung) und der native Grafiktreiber mit all seinen Möglichkeiten kann verwendet werden.

Der RTS-Hypervisor eignet sich für alle gängigen RTOS und GPOS Konfiguration. Probieren Sie es aus!

Kontaktieren Sie uns