 |
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.
|