Virtualisierung
Die fortschreitende Technologie ermöglicht es uns heute, komplexe Prozesse in der digitalen Welt effizienter zu gestalten. Virtualisierung ist ein Schlüsselkonzept, das diesen Fortschritt begleitet. Sie ermöglicht das parallele Betreiben mehrerer Betriebssysteme wie Linux und FreeRTOS oder die Ausführung einer Echtzeitanwendung neben einem vollwertigen Betriebssystem.
Vor allem in sicherheitskritischen Bereichen erlaubt Virtualisierung, Software-Anwendungen voneinander zu isolieren, um so die Zuverlässigkeit zu erhöhen. emtrion liefert dafür praktische Developer Kits mit Virtualisierung (Jailhouse) für die emCON-RZ/G Serie.
Was ist eingebettete Virtualisierung?
Bei der eingebetteten Virtualisierung (embedded virtualization) werden Hardware-Ressourcen wie Prozessor, Speicher oder Peripheriegeräte virtualisiert. Auf diese Weise lassen sich diese Komponenten teilen, sozusagen virtuell „vervielfältigen“. Dank der eingebetteten Virtualisierung können Sie auf einem Embedded System mehrere virtuelle Maschinen betreiben. Jede virtuelle Maschine erhält einen Teil der Ressourcen zugewiesen und läuft isoliert von den anderen
Die verschiedenen virtuellen Maschinen sind gegeneinander abgeschottet. Fehler oder Sicherheitslücken in einer Maschine wirken sich nicht auf die übrigen Maschinen aus. Stürzt eine virtuelle Maschine ab, beeinträchtigt dies die übrigen Maschinen nicht – diese laufen normal weiter. Dadurch erhöht die eingebettete Virtualisierung die Robustheit und Sicherheit des Gesamtsystems. Eingebettete Virtualisierung wird oft in sicherheitskritischen Bereichen wie der Medizintechnik oder dem Automotive-Bereich eingesetzt.
Welche Virtualisierungs-Technologien gibt es?
Für die Eingebettete Virtualisierung gibt es verschiedene Technologien:
- Hypervisoren: Diese Software teilt die Hardware-Ressourcen auf und verwaltet die virtuellen Maschinen. Typische Hypervisoren für Embedded Systeme sind Microkernels oder Typ-1-Hypervisoren wie Xen oder VMware ESXi. Sie haben einen sehr geringen Overhead.
- Container: Container virtualisieren auf Betriebssystemebene. Sie trennen Prozesse und Ressourcen, lassen aber das gleiche Betriebssystem laufen. Beispielsweise Docker. Sie sind etwas weniger isoliert als VMs.
- Para-Virtualisierung: Hierbei werden Gastsysteme angepasst, um mit dem Hypervisor zusammenzuarbeiten. So kann die Performance erhöht werden.
Welche Vorteile hat eine Virtualisierung?
Virtualisierungslösungen bieten viele Vorteile:
- Bessere Auslastung der Hardware-Ressourcen durch Aufteilung: Mehrere VMs teilen sich die vorhandenen Ressourcen optimal.
- Vereinfachte Wartung, da Änderungen an einer VM die anderen nicht beeinträchtigen: VMs können unabhängig gewartet werden.
- Erhöhte Zuverlässigkeit und Sicherheit durch Isolation der VMs: Ausfälle oder Sicherheitslücken in einer VM bleiben ohne Folgen für die übrigen virtuellen Systeme.
- Mehr Flexibilität, da verschiedene Betriebssysteme und Anwendungen kombinierbar sind: Unterschiedliche Softwareumgebungen lassen sich realisieren.
- Geringerer Energieverbrauch durch dynamisches Hinzufügen oder Abschalten von VMs: Ressourcen können bedarfsgerecht zugewiesen werden.
- Kosteneinsparungen durch Wegfall zusätzlicher Hardware: Mehrere Systeme lassen sich auf einem Chip realisieren.
Mit der eingebetteten Virtualisierung lassen sich also kleinere, günstigere und flexiblere Systeme realisieren.
Implementierung eines virtuellen Embedded Systems
Bei der Implementierung gibt es einiges zu beachten. Wichtig ist die Wahl des passenden Hypervisors sowie die optimale Ressourcenverteilung. Auch Echtzeitanforderungen müssen berücksichtigt werden. Oft müssen Anpassungen am Hypervisor oder Gastsystem vorgenommen werden.
Wir empfehlen bei der Einführung ein schrittweises Vorgehen. In einer Pilotphase wird die Virtualisierung im Labor getestet. Danach erfolgt die Integration in bestehende Systeme. So lassen sich Risiken minimieren und die Vorteile der Virtualisierung nutzen.
Die Lösungen von emtrion
Developer Kits
Fachwissen
Maßgeschneiderte Lösungen