Die Einsatzmöglichkeiten von Virtualisierungs-Lösungen sind vielfältig. In der klassischen IT werden Virtualisierungsprodukte von VMware, XenSource und anderen zunehmend zur Konsolidierung der zersplitterten Server-Landschaft genutzt.
Interessant sind überdies die Möglichkeiten, die sich durch Virtualisierung in der Entwicklung von Software für Realtime- und Embedded-Systeme ergeben.
Das Produkt VLX unseres Partners VirtualLogix, für den wir exklusiv Dienstleistungen in Zentraleuropa erbringen, ist eine Virtualisierungsschicht für Embedded Prozessoren.
Vom Konzept her ähnlich wie Xen zieht diese Lösung einen Betriebssystem-unabhängigen Hypervisor zwischen Hardware und Betriebssystem. Aber anders als Lösungen, die auf eine Emulation des Systems setzen wie z.B. VMware, wird eine sogenannte Paravirtualisierung unterstützt.
Diese bietet den großen Vorteil, dass die virtualisierten Betriebssysteme wissen, dass sie virtualisiert werden und somit nicht alle Treiber vom Hypervisor emuliert werden müssen. Hier nutzt der Hypervisor die vorhandenen Schnittstellen der jeweiligen Betriebssysteme.
Das besondere an dem Ansatz von VirtualLogix ist, dass das Produkt auf die Anforderungen in der Embedded Software Entwicklung zugeschnitten ist. So ist der Footprint des Hypervisors minimal und es werden neben der Intel- auch weitere Architekturen unterstützt, z.B. ARM und sogar DSPs von Texas Instruments.
Zudem hat das Unternehmen viel Zeit darin investiert neben Linux andere Betriebssysteme auf diese Paravirtualisierung hin anzupassen. Genannt seien hier VxWorks, QNX und OS-9.
Anpassungen an weitere Echtzeitbetriebssysteme und auch eigene Entwicklungen sind vergleichsweise unaufwändig. Somit ist der volle Erhalt der Echtzeitfähigkeit vorhandener Applikation gegeben. Weiterentwicklungen können nun auf einem zusätzlichen, virtualisierten Linux-Gast stattfinden, der auf dem gleichen Prozessor aufsetzt.
Eine weitere Option ist es, existierende Applikationen, die keine Multi-Core-Prozessoren wie Intel Core 2 Duo unterstützen, ohne Redesign in diese Architektur zu überführen, indem die Virtualisierungsschicht die Zuweisung der Anwendungen zu den einzelnen Cores steuert.
Das beschriebene Vorgehen gestattet eine phasenweise Migration von proprietärer Embedded Software auf Linux. Es ist sogar denkbar, dass bestimmte Code-Bestandteile gar nicht portiert werden sollen. Sei es, um die intellektuellen Schutzrechte nicht zu gefährden, sei es, um vorhandene Zertifizierungen, wie sie unter anderem in der Avionik und im militärischen Bereich erforderlich sind, beizubehalten. Oder auch nur, um unterschiedliche Software-Plattformen aus Kostengründen ohne Veränderungen auf eine Multi-CPU Hardware zu konsolidieren.
Im Philosys Realtime-Testlabor führen wir für Kunden entsprechende Vorstudien durch und ermitteln den Aufwand, den eine Umstellung der Plattform mit sich bringen wird. Und ob die geforderten Spezifikationen von der neuen Zielplattform (HW und SW) erreichbar sind. Zudem geben wir Empfehlungen welche Strategie, angefangen von der kompletten Neuentwicklung über einen Phasen-Ansatz wie beschrieben bis hin zur Weiterverwendung der vorhandenen Plattform, sinnvoll ist.