Virtualisierung

Sicherheit auf höchstem Level für Multicore-Prozessoren

| Autor / Redakteur: Jacques Brygier * / Franz Graser

Zertifizierung von Asymmetrischem Multiprocessing (AMP)

Das AMP-Konzept ist vergleichbar mit mehreren Single-Core Plattformen. Wegen ihrer engen Verknüpfung (Speicherbusse und Ähnliches) gibt es zwischen den Kernen eine erhöhte Tendenz zu Störkanälen. Die Kerne hosten verschiedene Instanzen eines oder mehrerer RTOSs in unterschiedlichen Partitionen. In diesem Modell ist die Ausführung vollkommen asynchron.

Jedes RTOS hat seinen separaten virtuellen Adressraum, so dass die Synchronisation der Memory Management Unit (MMU) nicht erforderlich ist. Speicherbereiche werden nur in klar bestimmten Sektionen für die Kommunikation der Kerne gemeinsam genutzt.

Zertifizierung von Symmetrischem Multiprocessing (SMP)

Schaubild 2: Die Skizze zeigt eine typische Multi-Core Konfiguration mit PikeOS.
Schaubild 2: Die Skizze zeigt eine typische Multi-Core Konfiguration mit PikeOS. (Grafik: SYSGO)

Der SMP-Ansatz ist neu für die Zertifizierung. Das SMP-Betriebssystemdesign benötigt Zugriffssperren auf die CPU, um sicherzustellen, das keine Störkanäle zwischen den Partitionen bestehen. In diesem Modell ist die Partitionierung durch eine einzige Betriebssystem-Instanz kontrolliert.

Der hier besprochene Ansatz nutzt ein Zeit-Partitionierungsschema mit Kern-Synchronisation. Kritische Teile der Zeitskala können im Single-Prozessor-Modus ausgeführt werden (siehe Schaubild 2). SMP unterscheidet sich von AMP in dem Punkt, dass eine Synchronisation der MMU gefordert ist, wenn sich das Mapping ändert. Das hat - wenn auch geringe - Auswirkungen auf die Performance.

Das Betriebssystem PikeOS unterstützt beide oben erläuterten Modelle. Für AMP wird das Dateisystem von PikeOS genutzt, um Images zu speichern, die auf anderen Kernen zur Ausführung kommen. PikeOS kann parallel zu weiteren Betriebssystemen oder als mehrere Instanzen seiner selbst auf unterschiedlichen Kernen laufen.

Im Fall von SMP weist PikeOS den Kernen Ressource-Partitionen zu. Kerne können zwischen Partitionen geteilt werden oder einem Kern werden mehrere Partitionen zugewiesen. Ressourcen können dieselbe Zeitpartition teilen, und Ressource-Partitionen können zur selben Zeit laufen. PikeOS unterstützt ein striktes ARINC-653-Scheduling für Teile der Zeitskala.

In dieser Konfiguration werden vier Kerne (A-D) und vier Ressource-Partitionen (RP 1 - RP 4) dargestellt. Außerdem haben wir drei Zeitpartitionen (TP 1 - TP 3). Eine Zeitpartition kann in der gleichen Weise als Container betrachtet werden, wie eine Ressourcen-Partition den Softwarezugang zu Speicher und Geräten etc. enthält, so dass Zeitpartitionen beinhalten, wann Software ausgeführt wird. Die Software im Beispiel oben wird als zeit- und raumpartitioniert bezeichnet.

Ergänzendes zum Thema
 
Zertifizierte Sicherheit

PikeOS ist für Multicore zertifiziert

Mit den oben genannten Methoden kann Software so konfiguriert werden, dass sie auf einem festgelegten Kern läuft. Außerdem können wir durch die Nutzung von Zeitpartitionen beschränken, wann Software ausgeführt wird. Und noch wichtiger bei Multicore: Wir können konfigurieren, was zur selben Zeit auf verschiedenen Kernen läuft.

Das spricht direkt die Bedenken an, die wir weiter oben wegen der möglichen Störmuster zwischen verschiedenen Kernen genannt haben. PikeOS gibt dem Software-Designer die nötige Flexibilität zur Festlegung von Tasks und stellt Grenzen bereit, so dass Softwareeinheiten zu unterschiedlichen Zeiten oder in unterschiedlichen Zeitpartitionen ausgeführt werden können, um Störungen zu minimieren.

Das Diagramm im Schaubild 2 zeigt, dass RP 2 auf seinem eigenen Kern in TP 2 läuft, wenn die Kerne A, B, und C nicht laufen. Wenn RP 2 kritischen Code ausführt, der keine Störung durch die anderen Kerne verträgt, dann ermöglicht dieses Modell eine störungsfreie Ausführung.

PikeOS gibt den Designern eine Möglichkeit an die Hand, wie kritische Bereiche gehandhabt werden können, solange die Zertifizierungsagenturen sehr vorsichtig mit jeder Zertifizierung von Multicore-Lösungen sind.

Der TÜV SÜD hat die Lösung von PikeOS geprüft und für den Einsatz auf Multicore-CPUs in der Bahntechnik für das höchste Sicherheitslevel SIL4 (Sicherheits-Integritätslevel) zugelassen. Wie wir mit Singlecore-Systemen gesehen haben, werden sich Multicore-Architekturen zukünftig verbreiten, denn sowohl die Zertifizierungsagenturen als auch ganz generell die Industrie werden Vertrauen zu sicherheitskritischen Multicore-Produkten entwickeln.

* Jacques Brygier ist Vice President Marketing beim Mainzer Echtzeitbetriebssystem-Spezialisten SYSGO.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben
Sehr gute Übersicht von Multicore Anwendung und Thema Safety, herzlichen Dank dafür Bietet viel...  lesen
posted am 30.01.2014 um 13:24 von ReesPeter


Mitdiskutieren
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 42464438 / Embedded Betriebssysteme)