fotohansel - Fotolia
Einsatz und Nutzen von Embedded-Hypervisoren
Embedded-Systeme finden sich in der Industrie und deren Produkten in stetig steigender Zahl. Ein Hypervisor hilft auch bei IoT-Geräten, die Vorteile der Virtualisierung zu nutzen.
Embedded-Systeme sind in aller Regel reduziert und aufgabenspezifisch in ihren Ressourcen limitiert. Behält man das im Hinterkopf, so mag man sich fragen, ob es überhaupt Sinn macht, ein solches Gerät zu virtualisieren. Und doch gibt es einige durchaus bemerkenswerte Gründe dafür, einen Hypervisor für die Virtualisierung eines Embedded-Systems mit vorzusehen.
Die sicherlich größte Aufmerksamkeit haben Embedded-Systeme in den vergangenen Jahren durch das Aufkommen von IoT-Geräten erhalten. Jedes dieser Internet-of-Things-Geräte ist ein in sich abgeschlossenes, kleines Embedded-System, das zentraler Verwaltung, schneller Netzwerkanbindung und eines sicheren Betriebs bedarf. Einen Hypervisor beim Design des Embedded-Systems für ein IoT-Gerät mit vorzusehen hilft, diese Anforderungen zu erfüllen.
Schauen wir uns einige Beispiele an, die veranschaulichen sollen, wie ein Embedded-Hypervisor bei der Vereinfachung der Hardware helfen kann – konkret beim Hinzufügen einer virtuellen Maschine (VM) zur bestehenden Hardwareplattform.
Das ist zum Beispiel dann eine große Hilfe, wenn eine Aufgabe den Einsatz von mehreren Betriebssystemen erfordert. Dafür mehrere Embedded-Systeme einzusetzen, erzeugt Kosten und Komplexität, die zu rechtfertigen oft nur bei Unausweichlichkeit gelingt.
Mit der Unterstützung von VMs könnte etwa ein allgemeines Betriebssystem wie beispielsweise Linux eingesetzt werden, das für den Betrieb bestimmter Anwendungen vorgesehen wäre – als einfaches Beispiel etwa ein Kalender. Eine zweite VM könnte dann ein Echtzeit-Betriebssystem einsetzen, das für den Hochleistungseinsatz der Intrasystem-Kommunikation verwendet würde.
Weitere Einsatzmöglichkeiten für Hypervisoren finden sich in ganz praktischen Anwendungen. Nehmen Sie als ein Beispiel die Automobilindustrie, in der Embedded-Hypervisoren vielfältig zum Einsatz kommen. Denken sie etwa an die umfassenden intelligenten Funktionen und Fähigkeiten moderner Fahrzeuge, die vom Informations- und Unterhaltungssystem über Bedienelemente und Benutzeroberflächen des Fahrzeugs bis hin zu weniger in Erscheinung tretenden Zwecken wie der Funktionsüberwachung und Fehlerdiagnostik reichen.
Statt für all diese unterschiedlichen Zwecke verschiedene Onboard-Computer einzusetzen, reicht auch ein einziger Zentralcomputer für das Fahrzeug. Durch die Virtualisierung dieses Computers wird erreicht, dass mehrere Instanzen, unterschiedliche Betriebssysteme und die verschiedensten Arten von Anwendungen für die typischen Anwendungsfälle in einem Fahrzeug bereitgestellt werden können. Auch in der Luftfahrtindustrie sind ganz ähnliche Vorteile festzustellen: verschiedene Fluggerätsysteme und -dienste lassen sich unter gleichbleibender Berücksichtigung der Ausfallsicherheit dank der Virtualisierung in weniger Systemen zusammenfassen.
Auch in der industriellen Fertigung sind Systeme zu finden, die in Echtzeit Sensordaten empfangen und Aktoren steuern. Daneben leisten sie notwendige Hochleistungsarbeit bei der Kommunikation über das Netzwerk. Durch den Einsatz eines Hypervisors können mehr dieser Aufgaben auf weniger Systeme verteilt werden und gleichzeitig die Betriebssicherheit und Angreifbarkeit dank VMs gesteigert werden.
Medizinprodukte stehen dem in nichts nach: auch sie steuern verschiedene Aufgaben ihrer Systeme in Echtzeit. Die Geräte müssen in der Lage sein, Patientendaten zu sammeln und Behandlungsgeräte zu steuern, während sie gleichzeitig detaillierte Datenspeicherung, Benutzerkontrolle und starke Vernetzung bieten. Dabei wird eine Vielzahl einzuhaltender und anspruchsvoller Standards als selbstverständlich vorausgesetzt – schließlich geht es oft um Menschenleben. Bei all diesen Anforderungen kann ein Hypervisor für die Virtualisierung eines Embedded-Systems helfen.
Vorteile der Implementierung von Embedded-Hypervisoren
Einem Embedded-System einen Hypervisor hinzuzufügen kann für Administratoren auch vielfältige Vorteile mit sich bringen, wie etwa verbesserte Nutzung der Hardware, Unterstützung mehrerer Betriebssysteme oder auch die Sicherheit von VMs im Vergleich zu physischer Hardware.
Ein weiterer Vorteil von Embedded-Hypervisoren zeigt sich in der Interoperabilität von Software und Betriebssystemen. Nehmen Sie zum Beispiel ein Embedded-System, das Treiber und Dienste für eine spezifische Hardware des Embedded-Systems benötigt.
Im Fall physischer Hardware können sich dabei Probleme der Interoperabilität mit bestimmten Betriebssystemen zeigen. Die Abstraktion, die Sie durch das Hinzufügen eines Embedded-Hypervisors erreichen können, sorgt für eine Isolation der für die Hardware spezifischen Software vom Betriebssystem und räumt damit schon alleine verschiedene Interoperabilitätsprobleme aus. Hinzu kommt, dass Treiber und Dienste ausgetauscht werden können, ohne das Betriebssystem damit zu verändern.
Auch die Sicherheit und Zuverlässigkeit eines Embedded-Systems profitiert vom Einsatz eines Hypervisors. Indem ein Embedded-System etwa in einer VM isoliert wird, können die Kommunikationswege zur VM und aus ihr heraus kontrolliert und Richtlinien unterworfen werden.
Weil damit sichergestellt ist, dass nur bekannte und vertrauenswürdige Geräte mit der VM kommunizieren können, wird die VM durch den Hypervisor umfassend gegen Angriffe von außerhalb geschützt. Auch die Ausbreitung von Fehlerzuständen aus der VM heraus und deren Übergreifen auf andere VMs und Systeme kann so vermieden werden. Unter Umständen auch eine zusätzliche Kontrolle möglich, die zum Herunterfahren oder Neustarten von gestörten VMs erforderlich ist.
Zu alledem gesellen sich noch weitere, weniger bekannte Vorteile. So profitieren Administratoren zum Beispiel durch Embedded-Hypervisoren von einfacheren Softwaretests und aufwandsarmen Updates innerhalb von VMs, besserer Nutzbarkeit Legacy-Anwendungen sowie einen stärkeren Schutz des geistigen Eigentums. Viele der Vorteile von Hypervisoren für Embedded-Systeme sind sehr vergleichbar zu denen, die Sie aus der Virtualisierung von Endpunkt-PCs oder der Virtualisierung von Servern kennen.