01.11.2012 Aufrufe

Memory-Meister - elektronikJOURNAL

Memory-Meister - elektronikJOURNAL

Memory-Meister - elektronikJOURNAL

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!