Architekturen für Betriebssichere Software
Partitionierung
Eine Partition ist eine Gruppe von Aktivitätsträgern und Betriebsmittelumgebungen, die Betriebsmittel teilen. Inhaltlich gehören alle zusammen (z.B. Subsystem)
Partitionierbar sind:
- CPU-Zeit, Scheduling
- fixed partition Scheduler
-
- Adaptive Partition Scheduler
- erzwingt die harten limits nur im Überlastfall, sonst verhält er sich ähnlich wie ein prioritätsgesteuerter verdrängender Scheduler
- Speicher, I/O-Geräte
- Interupts und Timer
Aspekte:
- Kontroll-Kopplung (control coupling)
- empfindlich gegen externen Zugriff
- Datenkopplung (data coupling)
- gemeinsame ober überlagernde Daten, einschließlich Stacks und Prozessorregister
- Fehlerzustände von Hardwaregeräten, die mit den Schutzmechanismen zusammenhängen
Implementierungen:
Standard ARINC 653 Application Executive (APEX)
API (in Programmiersprachen C oder ADA) trennt Applikation vom Betriebssystem
Dienste [VR2008]:
- Process Management
- Time Management
-
jeder Partition (virtuelle Maschine) wird eine Zeitscheibe (time slice) zugewisen und wird mit TDMA Time Devision Multiple Access gescheduled. [GuZhao2012]
- Partition Management
- Sampling Port Management
- Queuing Port Management
- Buffer Management
- Blackboard Management
- Semaphore Management
- Event Management
- Error Management
Die "Gesundheit" (engl. Health) , d.h. der Funktionszustand wird hierarchisch überwacht:
- Prozessebene - verantwortet durch den Applikationsentwickler
- Partitionsebene verantwortet durch den Systemintegrator
- Modulebene verantwortet durch den Platformhersteller
Die Funktionszustandsüberwachung auf Modul- und Partitionsebene wird in XML konfiguriert
(Der Standard ist bei ARINC erwerbbar)
Implementierungen
[GuZhao2012] erwähnt diese:
- Lynux Works LynxOS-178
- Greenhills Integrity-178B
- Wind River VxWorks 653
- BAE Systems CSLEOS
- DDC-I DEOS
MILS Architecture
Laut [GuZhao2012] werden in MILS folgende konzeptionelle Ebenen der Separierung eingeteilt:
- separation Kernel and Hardware
- middleware services
- Vertrauenswürdige (trusted) Applikationen
- Verteilte Kommunikation
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber