MSC/GE News
Titel: Simulierte Computer Datum: 27.11.2007
Dieser Artikel ist erschienen in der IPCworld 04/2007 und wurde von Ralf Kapahnke - MSC Vertriebs GmbH - verfasst
Download des Artikels [PDF 600KB]


Dual-Core-CPUs auf COM Express machen Virtualisierung für Embedded-Anwendungen hoffähig

In den vergangenen Jahren haben sich Systemkonzepte mit getrennten Einheiten für Echtzeitanwendungen in der Steuerung und Mensch-Maschine-Schnittstellen in der Visualisierung überall durchgesetzt. Der Grund lag vor allem darin, dass die unterschiedlichen Anforderungen an Echtzeitverhalten und Grafik nicht auf einer CPU sinnvoll zu realisieren waren. Ansätze, dies dennoch zu tun, waren oft zu speziell und nicht auf jeder Hardware umsetzbar. Mit der Einführung von Dual-Core oder Multi-Core CPUs und der Verfügbarkeit von Virtualisierung, auch im Open-Source-Bereich, sind die Systemanforderungen nun neu zu bewerten. Offene Hardware wie COM Express und offene Software wie Linux lassen inzwischen die unterschiedlichen Einheiten auf einer Plattform verschmelzen. Mit immer besseren CPU-Leistungen können damit Systeme einer neuen Generation aufgebaut werden.
Um die heute in den vielfältigsten Anwendungen der Industrieautomation zur Verfügung stehende Hardware und Software auf einem System zusammenzuführen,
müssen die Ressourcen eines Rechnersystems geteilt werden. Eine bereits bewährte Methode dafür sind Virtual Machines (VM), die jedem Anwender eine eigene Abstraktionsschicht bereitstellen. Das Ziel ist es, dass die Applikation quasi als alleiniger Nutzer aller Ressourcen abläuft, aber dennoch von der verwendeten Hardware, z.B. dem Speicherplatz und der CPU, isoliert ist. Existieren dank moderner Dual-Core CPUs dann auch noch zwei eigenständige Cores auf einem Silizium, fällt die Zuordnung der Rechnerkerne auf einen Applikationskreis leichter und ermöglicht, die kritische Ressource dediziert zu verteilen.

Im Wesentlichem gibt es zwei Möglichkeiten, virtuelle Maschinen zu realisieren:
1) Der Anwender erhält ein eigenes Gastsystem (Virtual Host), auf welchem er seine Applikation betreiben kann, oder
2) für das Anwenderprogramm wird innerhalb des Host-Systems eine virtuelle Laufzeitumgebung zur Verfügung gestellt.

Implementierung einer Virtual Machine (VM)
Eine VM kann in ein System entweder komplett per Software oder Hardware bzw. als Kombination aus Software und Hardware implementiert werden. Bei der softwaretechnischen Realisierung wird den Applikationen auf Betriebssystem-ebene eine komplette, virtuelle Laufzeitumgebung innerhalb eines geschlossenen Bereiches (Container) zugeordnet. Der Container stellt nur eine Teilmenge des Host-Betriebssystems dar und kann deshalb nicht selbstständig Treiber oder andere Kernel laden. Von Vorteil ist, dass kein zusätzliches Betriebssystem gestartet werden muss.

Eine Alternative dazu ist die Paravirtualisierung. Bei dieser Methode wird virtuell ein zusätzliches Betriebssystem neu gestartet. Das OS verwendet eine abstrakte Verwaltungsschicht, um auf gemeinsame Peripherieressourcen, wie z.B. Festplattenspeicher, CD-ROM oder LAN, zugreifen zu können. Da keine Hardware emuliert wird, ist die bereitgestellte Softwareschnittstelle ähnlich, aber nicht identisch zur tatsächlichen Hardware. Diese Alternative findet immer stärkere Unterstützung, speziell in einem Linux-Umfeld mit KVM (Kernel Virtual Machine).

Rechner, wo keiner ist
Bei der Kombination aus Software und Hardware arbeitet das gestartete virtuelle Betriebssystem ohne eigene Verwaltungsschicht. Die Virtual Machine gaukelt dem Gastsystem vor, ein komplett aus Hardwareelementen (Prozessor, Arbeitsspeicher, Laufwerke usw.) existierender Rechner zu sein. Wird diese Form der Visualisierung weder von der Hardware noch vom eigentlichen Betriebssystem des Gastsystems unterstützt, bedient sich die VM-Software einer Emulationsschicht.
Auf diese Weise kann wieder jedem beteiligten System der Eindruck vermittelt werden, über die Hardware allein verfügen zu können.
Der Nachteil ist, dass das komplette System jetzt wesentlich langsamer läuft. Um dieses Problem zu kompensieren, lässt sich zur optimierten Ressourcenverteilung z.B. der von der Universität Cambridge entwickelte Virtual Machine Monitor (VMM) mit der Bezeichnung Xen einsetzen. Xen emuliert keine Hardware, sondern stellt dem laufenden System einen nur gering verzögerten Zugriff auf die x86-Hardware zur Verfügung. Diesen Zugriff erlauben jedoch die meisten CPUs nur bei Operationssystemen mit offenem Quellcode (Open Source). Während also praktisch alle Unix-Betriebssysteme, an erster Stelle natürlich Linux, ohne Probleme zur Implementierung genutzt werden können, fällt Microsoft Windows hierbei für diese Anwendungen meistens aus.

Secure Virtual Machine
Die Hardware-Virtualisierung wird durch einen erweiterten Befehlssatz der CPU erreicht, der direkte I/O-Zugriffe auf den Rechner erlaubt. Damit lässt sich im Vergleich zur Softwarelösung eine wesentlich höhere Geschwindigkeit erzielen. Die beiden Prozessorhersteller Intel und AMD haben unabhängig voneinander unterschiedliche Technologien entwickelt, die zwar inkompatibel sind, aber die gleiche Funktionalität mitbringen. Sowohl Intel (Intel Virtualization Technology bzw. Intel VT) als auch AMD (AMD Virtualization bzw. AMD-V) haben eine Secure Virtual Machine (SVM) in ihren neuen Prozessorarchitekturen implementiert.
Dank dieser neuen Virtualisierungmethode kann auch jedes nichtquelloffene Betriebssystem, z.B. Microsoft Windows, schnell auf die Ein- und Ausgänge der CPU zugreifen. Um einen optimalen Nutzen zu erzielen, benötigt man natürlich auch die Unterstützung einer Visualisierungssoftware wie das Xen in angepasster Form, Microsoft Virtual PC oder VMware.

SVMs im Einsatz
Secure Virtual Machine kommen in den vielfältigsten Rechnersystemen zum Einsatz. Neben dem Consumer-Markt, z.B. moderne Unterhaltungsmedien wie Musik-, Video-, Spiele- und Internet-Plattform, stehen vor allem industrielle Anwendungen im Vordergrund. Ein Beispiel dafür sind große Kontrollterminals zur Maschinensteuerung in vollautomatischen Fertigungsstraßen, die zur Optimierung ihrer Hardware- und Software-Ressourcen VMs einsetzen. Letztendlich beschäftigt sich ein ganzes Industriegremium mit dem Einsatz von Echtzeit-Linux, das auch über KVM mit der Virtualisierung gepaart werden kann. Dann läuft die Echzeitsteuerung oder die Soft-SPS mit der Windows Visualierung als Gastsystem auf ein und derselben CPU. Die Einsparungen in der Systemlandschaft sind groß, doch ist derzeit sich auch noch einiges an Erfahrung mit der neuen Technologie nötig. MSC arbeitet hier mit der genossenschaftlich organisierten Institution Open Source Automation Development Lab (OSADL, www.osadl.org) und den Firmen Eltec und Linutronix zusammen, die Vorreiter in neuen Anwendungen sind.
Virtuelle Oberflächen
Sehr interessante Möglichkeiten eröffnen sich auch in Anwendungen, bei denen sicherheitskritische Daten anfallen, z. B. in High Security-Systemen und bei Bankgeschäften. Denn zum Start einer Applikation müssen nur bestimmte Dateien in die „virtuelle Bedieneroberfläche“ kopiert werden, während entscheidende, sicherheitskritische Daten unangetastet auf der eigentlichen Betriebssystemebene hinterlegt sind. Über das in den COM Express-Plattformen der MSC Vertriebs GmbH integrierte Embedded Security Feature kann der Boot-Prozess ab der ersten Instruktion überwacht werden und damit sicherstellen, dass Hardware und Software vom Hersteller als Original vorliegen. Dazu wurde ein TPM (Trusted Platform Module) integriert, das die Sicherung der Schlüssel und die Ausführung der Routinen beim Boot-Prozess übernimmt. Die Kombination SVM und TPM garantiert vor der Ausführung der Applikation, dass sie im Original vorliegt und somit vor Zugriffen von außen gesichert ist.

Fazit
MSC hat als erster Embedded Computing-Anbieter bereits vor einem Jahr auf ihrem hochleistungsfähigen COM Express-Modul CXB-CD945 ein TPM (Trusted Platform Module) integriert und das Trusted Core BIOS von PhoeDas auf dem neuen Chipsatz 82965GME basierende COM Express-Modul CXE-C2D965 verfügt über ausgeklügelte Security-Funktionalitätnix Technol-ogies implementiert und bietet heute mit dem Nachfolger das Leistungsniveau der neuesten Laptop-Generation. Um den unterschiedlichsten Leistungsanforderungen gerecht zu werden, ist die Baugruppe mit verschiedenen CPUs erhältlich, die vom ULV Celeron M bis zum Intel Core 2 Duo-Prozessor reichen. Auch das auf der SPS/IPC/Drives 2007 erstmals präsentierte COM Express-Modul CXE-C2D965 von MSC verfügt über innovative Embedded Security-Funktionen, die unerlaubte Manipulationen, Missbrauch oder illegales Kopieren der Daten und Software verhindern