Suchen

Systembeschreibung

Dynamische Softwarearchitektur für eingebettete Systeme

Seite: 4/6

Firmen zum Thema

Adressräume und Dienste des Betriebssystems

In diesem Kapitel wird das Plattform-Domänen-Modell beschrieben. Die Idee hinter diesem Modell ist die Einführung einer Abstraktion die alle Aspekte einer Plattform aus Sicht der Anwendung berücksichtigt. Wir führen hier das Konzept der Domänen, Ressourcen und Dienste für alle Plattformen ein, unabhängig davon ob diese von Software oder Hardware bereitgestellt werden. Damit soll die Austauschbarkeit der Plattform und auch der Anwendung verbessert werden. Außerdem wird das Ziel verfolgt unabhängig von industriellen Einsatzgebieten zu sein.

Detaillierte Kenntnisse der Hardware-Plattform werden durch das Plattform-Domänen-Modell gekapselt. Die Anwendung muss nur die relevanten Informationen des Plattform-Domänen-Modells kennen. Mittels des Plattform-Domänen-Modells werden Plattformen logisch strukturiert und die physikalische Strukturierung aus dem Plattform-Komponenten-Modell (Geräte, Chips usw.) wird überwunden. Damit wird ein erhöhter Grad von Unabhängigkeit und Austauschbarkeit zwischen Plattform und Anwendung ermöglicht.

Bildergalerie
Bildergalerie mit 10 Bildern

Plattform-Domänen

Eine Plattform-Domäne (im weiteren Domäne) ist ein Strukturelement des Plattform-Domänen-Modells. Es stellt einen Container dar, der logische Einheiten wie Ressourcen und Services kapselt. Das Domänen-Modell stellt die logische Sicht der Plattform dar. Domänen können Sub-Domänen enthalten und ermöglichen damit wieder die hierarchische Modellierung von Plattformen.

Domänen besitzen eine Schnittstelle in Form von Diensten die von den enthaltenen Ressourcen bereitgestellt werden. Eine Domäne bindet Elemente des Anwendungs-Modells wie Tasks wenn sie eine Ausführungs-Ressource (Sequential Execution Resource) enthält. Besitzt sie keine derartige Ressource dient die Domäne als Container für weitere Sub-Domänen.

Domänen sind logische Einheiten die für die Realisierung des eingebetteten Systems in Hardware oder Software implementiert werden müssen.

In der untersten Plattform-Schicht sind Domänen die logische Sicht auf die mittels Komponenten modellierte Hardwarearchitektur. Hier können Domänen durch Module oder Gruppen von Komponenten (auch aus verschiedenen Modulen) realisiert werden. Dadurch kann eine Domäne Ressourcen besitzen die z.B. in verschiedenen Geräten oder Chips enthalten sind (siehe auch Kapitel ”Entwurfsstudie”).

Auf höheren Ebenen des Plattform-Schichtenmodells werden Domänen durch Software implementiert, beispielsweise durch Betriebssysteme und deren Zeit- und Speicher-Partitionen wie Prozesse und Threads. Eine mögliche Modellierung eines Betriebssystems im Domänen-Modell sieht so aus:

  • 1. Betriebssystem selbst wird durch eine Domäne beschrieben
  • 2. Jeder Prozess wird durch eine Sub-Domäne beschrieben
  • 3. Jeder Thread wird durch eine Sub-Domäne der entsprechenden Prozess Sub-Domäne beschrieben

Falls die Anwendung keine Nebenläufigkeit oder Speichertrennung benötigt, wird im Allgemeinen auch kein Betriebssystem genutzt. Andere Dienste (z.B. Treiber für Plattform-Hardware) werden normalerweise trotzdem von der Anwendung benötigt und über eine Domäne beschrieben.

Ressourcen und Dienste

Ressourcen sind logische Elemente die Services für Anwendungs-Elemente oder Ressourcen höherer Schichten bereitstellen. Ressourcen andererseits benötigen Dienste niederer Schichten um ihre Aufgaben zu erfüllen.

Tabelle 1: Typen von Ressourcen
Tabelle 1: Typen von Ressourcen
(Bild: Universität Ulm)

Die von Ressourcen angebotenen Dienste bilden die Schnittstelle der Ressource. Man kann Dienste auch als die öffentlichen Methoden einer Ressource interpretieren. Dienste sind die einzige Möglichkeit Ressourcen aus einer höheren Schicht zu nutzen. Wir unterscheiden angebotene und benötigte Dienste sowie Eingangs- und Ausgangs-Dienste. Eingangs-Dienste sind z.B. schreibende Dienste oder Dienste die der Konfiguration einer Ressource dienen. Ausgangs-Dienste sind lesende Dienste oder Ereignis-Behandlungsroutinen. Die Einteilung in Eingangs- und Ausgangs-Dienste erfolgt immer aus dem Blickwinkel der den Dienst besitzenden Ressource.

Die Bindung von Plattform-Elementen benachbarter Schichten erfolgt durch die Verbindung von benötigten Diensten der Schicht X mit kompatiblen angebotenen Diensten der Schicht X −1. Auf der untersten Plattform-Schicht realisieren Plattform-Komponenten Ressourcen die Dienste bereitstellen. Diese Realisierungsbeziehung wird als Bindung in dieser Ebene betrachtet.

In einer Domäne werden normalerweise nicht alle möglichen Ressourcen und Dienste modelliert, sondern nur die die von höheren Schichten benötigt werden. Wir bezeichnen sie als relevante Ressourcen und Dienste.

Ressourcen und Dienste werden durch ihren Ressourcen-Typ, wie in Tabelle 1 dargestellt, klassifiziert. Weiterhin unterscheiden wir Ressourcen-Manager. Sie verwalten andere Ressourcen und deren Dienste. Ein typischer Ressourcen-Manager ist eine MMU (Memory Management Unit) die andere Speicher-Ressourcen verwaltet und als Proxy für sie und ihre Dienste dient.

Die zentralen Dienste die von Plattformen angeboten werden sind Rechenzeit bzw. Rechenkapazität, Speicher und Kommunikation. Wird eine Domäne nicht nur als Container für Sub-Domänen genutzt, stellt sie mindestens eine Rechenzeit-Partition (“Zeitscheibe”) dar die durch eine Ausführungs-Ressource (Sequential Execution Resource) modelliert ist. Das bedeutet, dass alle Tasks die durch die Anwendung an diese Domäne gebunden werden an genau eine Ausführungs-Ressource gebunden sind. Sie wird an eine Prozessor-Ressource gebunden. Das bedeutet, dass alle Aufgaben in einer Domäne nacheinander und nicht parallel (nebenläufig) abgearbeitet werden. Damit können mehrere Sub-Domänen einer Domäne nur durch eine verwaltete Prozessor-Ressource (Scheduler) mit Rechenzeit versorgt werden.

Im Gegensatz dazu können Domänen auch als Speicherpartition agieren und damit den gesamten verfügbaren Speicherbereich mittels Adressräumen separieren. Dabei werden alle Speicherzugriffe an virtuelle Speicher-Ressourcen (verwaltete Ressourcen) gebunden.

(ID:44199816)