Mehr Sicherheit oder bessere Systemauslastung: das leistet Virtualisierung für Embedded-Systeme Virtualisierung im Embedded-Umfeld

Auch Embedded-Systeme können von Virtualisierung profitieren: Mehr Sicherheit durch strikte Trennung der virtuellen Maschinen oder mehr Performance durch bessere Rechnerauslastung lautet die Wahl. Auch Echtzeit-Anwendungen in virtuellen Umgebungen sind dank der Hardware-Unterstützung neuerer Prozessoren kein Ding der Unmöglichkeit mehr.

Mehr Sicherheit oder bessere Systemauslastung: das leistet Virtualisierung für Embedded-Systeme

Auch Embedded-Systeme können von Virtualisierung profitieren: Mehr Sicherheit durch strikte Trennung der virtuellen Maschinen oder mehr Performance durch bessere Rechnerauslastung lautet die Wahl. Auch Echtzeit-Anwendungen in virtuellen Umgebungen sind dank der Hardware-Unterstützung neuerer Prozessoren kein Ding der Unmöglichkeit mehr.

INHALT:
Designentscheidung: Sicherheit oder Performance
Statische Virtual Machines
Echtzeit-Unterstützung in der virtuellen Maschine
Echtzeit-sichere Interrupt-Verarbeitung
Trend zur Gerätekonsolidierung
Zwei Betriebssysteme auf einer Maschine: ohne Virtualisierung aufwendig
Kommerziell verfügbare Virtualisierungslösungen für Industriesteuerungen
Literatur
Autor

Ähnlich wie im Desktop-, Notebook- oder Server-Bereich können auch Embedded-Systeme die hardware-unterstütze Virtualisierung nutzen, bei der mehrere Betriebssysteme auf die gemeinsamen Ressourcen der Hardware-Plattform zugreifen können. Diese gemeinsame Verwendung einer Hardware kann einerseits die Kosten reduzieren (Anschaffungskosten und/oder Betriebskosten) und andererseits die Gesamtleistung oder auch die Zuverlässigkeit und Sicherheit eines Systems erhöhen.

Es gibt mehrere Mechanismen, mit denen Virtualisierung in die Praxis umgesetzt werden kann. Unabhängig von diesen Mechanismen haben alle Lösungen eine Gemeinsamkeit: Es bedarf immer einer zusätzlichen Software-Schicht, die die Betriebssysteme bedient, die Hardware-Ressourcen verwaltet und den Betriebssystemen zuweist sowie auch die Zustandstabelle verwaltet, wenn zwischen Betriebsystemen hin und her gewechselt wird. Bei der Virtualisierung wird jedes Betriebssytem innerhalb einer „Virtual Machine“ (VM) ausgeführt, die verhindert, dass die Betriebssysteme direkt auf die Hardware zugreifen. Die zusätzliche Software-Schicht wird Virtual Machine Monitor (VMM) genannt (Bild 1). Der VMM verwaltet die Betriebsysteme in ähnlicher Weise wie ein Betriebsystem die Ausführung der Applikationen.

Obwohl ein Virtual Machine Monitor bei jedem Virtualisierungsmodell erforderlich ist, ist die Architektur der VMMs auf die Bedürfnisse und Limitierungen der jeweiligen Einsatzgebiete zugeschnitten. Verschiedene Design-Entscheidungen müssen getroffen werden, um den VMM auf die speziellen Anforderungen zu optimieren. Auch die Betriebssysteme, die in der VM laufen, müssen für das entsprechende Einsatzgebiet sorgfältig ausgewählt werden. General-Purpose-Betriebssysteme wie Linux und Windows eignen sich nicht für Embedded-Systeme. Hier werden Spezialversionen dieser Betriebssysteme oder Echtzeit-Betriebssysteme eingesetzt. Genauso ist es mit den VMMs: Was für IT-Server gut geeignet ist, taugt noch lange nicht für Embedded-Systeme.