Memory-Meister - elektronikJOURNAL
Memory-Meister - elektronikJOURNAL
Memory-Meister - elektronikJOURNAL
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Entwickeln, Messen und Fertigen<br />
Softwaretools<br />
Bild 2: Ein Type-1-Hypervisor (hier: Lynx-Secure) läuft direkt<br />
auf der Hardware und kann mehrere Betriebssysteme als Gäste<br />
gleichzeitig ausführen. Diese müssen von der Virtualisierung<br />
nichts wissen (links), können aber kooperieren und damit die<br />
Performance steigern (Paravirtualisierung).<br />
ein bestimmtes Gerät nicht unterstützt, muss ein solcher Support<br />
geschaff en werden. Nicht jeder RTOS-Anbieter hat die technischen<br />
Ressourcen, um die erforderliche Hardware-Unterstützung zu entwickeln.<br />
Auch unterscheidet sich die Bandbreite und Latenzzeit<br />
der Netzwerk- und USB-Stacks. Nicht alle RTOS-Anbieter werden<br />
ihre Stacks für eine Echtzeit-Embedded-Anwendungsumgebung<br />
optimieren – vor allem in pukto Eintrittsinvarianz und Latenz.<br />
Embedded-Hypervisor<br />
Ein Hypervisor – manchmal Virtual Machine Monitor genannt –<br />
führt mehrere Gast-Betriebssysteme gleichzeitig auf einer Hardware-Plattform<br />
aus. Das nutzt die Rechenleistung heutiger Prozessoren<br />
besser und spart Platz, Gewicht und Leistung. Seit kurzem<br />
kommen Hypervisor auch im Embedded-Bereich zum Einsatz. Es<br />
gibt zwei Kategorien: Typ 2 hosted seine Gast-Betriebssysteme<br />
mithilfe des übergeordneten Betriebssystems, unter dem er läuft .<br />
Zuerst bootet das Host-Betriebssystem und startet dann den Hypervisor<br />
als Anwendung, die wiederum die Gäste lädt. Beispiele<br />
sind VM-Ware oder Virtual Box. Um das Host-Betriebssystem neu<br />
zu starten, müssen zuerst alle Gastbetriebssysteme stoppen. Ein<br />
Typ-1-Hypervisor hingegen läuft ohne weiteres OS direkt auf der<br />
Hardware. Er bootet als erstes wenn das Zielsystem startet und lädt<br />
dann die Gast-Betriebssysteme. Die meisten heute am Markt verfügbaren<br />
Embedded-Hypervisoren gehören zu dieser Kategorie.<br />
Ein Hypervisor kann die Gast-Betriebssysteme auf zwei Arten<br />
virtualisieren: Hardware-Virtualisierung erfordert keine Modifi kation<br />
des Gastbetriebssystem-Kernels. Das Gast-OS wird genau so<br />
installiert wie seine Standalone-Version und weiß nicht, dass es auf<br />
einem Hypervisor läuft . Der Aufwand ist minimal, allerdings sinken<br />
Leistung und Determinismus. Paravirtualisierung hingegen<br />
braucht einen modifi zierten Systemkernel, der sich direkt über die<br />
Hypercall-Schnittstelle des Hypervisors mit diesem verbindet.<br />
Leistung und Determinismus steigen. Paravirtualisierung ist notwendig,<br />
wenn das Gast-Betriebssysteme harten Echtzeit-Anforderungen<br />
unterliegt. Allerdings braucht der Entwickler in der Regel<br />
Zugriff auf den Kernel-Quelltext des Gastsystems.<br />
Manchmal erfordern es die Sicherheitsvorgaben, dass der Embedded-Hypervisor<br />
die Gastbetriebssysteme sicher voneinander<br />
abschirmt, ihnen die Hardware direkt zuweist oder kontrolliert,<br />
wie Informationen und Daten zwischen den Gastsystemen übermittelt<br />
werden. Um diese Anforderungen an Datentrennung und<br />
Informationsfl usskontrolle zu garantieren, muss der Hypervisor<br />
gemäß dem Separation Kernel Protection Profi le (SKPP) der NIAP<br />
(United States National Information Assurance Partnership) im-<br />
Bild 3: Ein Echtzeit-Kernel für Zeit- und Raumpartitionierung (hier: Lynx-OS-SE) verschafft<br />
einzelnen Prozessen oder Prozessgruppen feste Zeitschlitze zur Ausführung.<br />
plementiert werden. Der derzeit einzige Typ-1-Echtzeit-Hypervisor<br />
auf dem Markt, der gemäß SKPP implementiert werden kann,<br />
ist Lynx-Secure (Bild 2) von Lynuxworks. Ein Separation-Kernel<br />
muss aber nicht als Hypervisor implementiert sein.<br />
Entwicklungstools<br />
Die meisten kommerziellen Echtzeit-Betriebssysteme unterstützen<br />
eine IDE, häufi g ist sie Eclipse-basiert oder proprietär. Ein starkes<br />
Toolset umfasst mindestens einen Editor mit Syntaxhervorhebung,<br />
einen Target-Viewer, der den aktuellen Zustand des Target-Systems<br />
in Echtzeit anzeigt, einen hoch aufl ösenden Offl ine-Target-Callrecorder<br />
ähnlich einem Soft ware-basierten Logikanalysator sowie<br />
einen grafi schen Debugger für Multiprocessing-Systeme, der Backtrace,<br />
Prozessorregister- und Variablen-Anzeige unterstützt. Falls<br />
das RTOS Core-Dumps anbietet, kann die IDE eine Core-Datei in<br />
einen Postmortem-Debugger laden, um die genaue Quellcode-<br />
Zeile zu identifi zieren, in der das Problem aufgetreten ist, sowie<br />
den exakten Systemstatus zu diesem Zeitpunkt zu rekonstruieren.<br />
Wie leicht sich ein Zielsystem in das Labor-Netzwerk integrieren<br />
lässt, hängt unter anderem von den Konfi gurationsschnittstellen<br />
ab. Wenn die einem typischen UNIX-System gleichen, stehen<br />
die Chancen gut, dass die IT-Abteilung die Zielsysteme auf dem<br />
Netzwerk ohne zusätzliches Training konfi gurieren kann.<br />
Lizensierungsmodell<br />
Bei der Preisgestaltung sollten Entwickler aufpassen. Einige Anbieter<br />
behaupten zwar, dass ihre Produkte lizenzfrei sind. Bei näherer<br />
Betrachtung stellt sich das Preismodell aber als Runtime-<br />
Buy-Out oder als jährliche OEM-Gebühr heraus. Ein anderes<br />
Preismodell basiert auf dem Einzelverkaufspreis des Produkts. Im<br />
kommerziellen Markt sinken die Hardwarepreise in Laufe der Zeit,<br />
aber die Lizenzgebühren für ein Echtzeitbetriebssystem bleiben<br />
normalerweise konstant. Beim Einzelverkaufspreis-Modell bleiben<br />
die Kosten also, wenn die Lizenzgebühr ein Prozent des Produktpreises<br />
beträgt, über den Lebenszyklus des Produkts hinweg fest.<br />
Ein guter Partner wird eine fl exible Preisgestaltung bieten.<br />
Heutzutage kann sich kein Unternehmen falsche Entscheidungen<br />
erlauben. Um so wichtiger ist es, mit den richtigen Tools, Systemen<br />
und Partnern zu arbeiten. Als Entscheidungshilfe mag obiger<br />
Kriterienkatalog dienen. (lei) ■<br />
Der Autor: John Patchin ist Manager –<br />
System Engineers bei Lynuxworks Inc.<br />
in San Jose, Kalifornien.<br />
58 <strong>elektronikJOURNAL</strong> 11 / 2010<br />
www.elektronikjournal.com<br />
Bilder: Lynuxworks