14.01.2015 Aufrufe

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

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.

4 Basisschicht e<strong>in</strong>es Verwalters<br />

Abbildung 4.10: Vorgehen bei der Installation von Modulen<br />

Als Folge dieser Überprüfung können nicht beliebige Module e<strong>in</strong>zeln <strong>in</strong>stalliert werden. Nur Module,<br />

die gar ke<strong>in</strong>e Abhängigkeiten haben oder deren Abhängigkeiten bereits <strong>in</strong>stalliert s<strong>in</strong>d, können e<strong>in</strong>zeln<br />

<strong>in</strong>stalliert werden. Für alle anderen Module müssen zusätzlich die abhängigen Module zur Installation<br />

ausgewählt werden.<br />

Bevor der Code zum verwalteten Gerät übertragen wird, muss festgelegt werden, an welcher Position<br />

die Module im Speicher des Zielsystems <strong>in</strong>stalliert und welche Adresse sie haben werden. Diese<br />

Aufgabe wird von der Speicherverwaltung durchgeführt (siehe Abschnitt 4.5.4). Im Rahmen dessen<br />

wird auch überprüft, ob überhaupt genügend freier Speicher zur Verfügung steht. Reicht der vorhandene<br />

freie Speicher auf dem Zielknoten nicht aus, so wird das an die Kontrollschicht gemeldet. Diese<br />

kann daraufh<strong>in</strong> zunächst andere Module von dem Knoten entfernen oder parken, um so genügend<br />

Speicherplatz freizubekommen.<br />

Nachdem die Module positioniert wurden, können die b<strong>in</strong>ären Daten der Module zur Installation<br />

vorbereitet werden. Dabei löst e<strong>in</strong> architekturspezifischer B<strong>in</strong>der die Abhängigkeiten auf. Hierfür hat er<br />

Zugriff auf die Speicherverwaltung, um die Position der <strong>in</strong>stallierten Module zu erfahren. Es entsteht<br />

e<strong>in</strong>e Version der b<strong>in</strong>ären Daten, welche direkt von der Zielhardware ausgeführt beziehungsweise<br />

verwendet werden kann.<br />

Im letzten Schritt werden die Module übertragen. Dazu muss e<strong>in</strong>e Verb<strong>in</strong>dung zum Zielknoten<br />

existieren und der Knoten muss <strong>in</strong> der Lage se<strong>in</strong>, den Code an die zuvor festgelegte Speicherstelle<br />

zu schreiben. Details hierzu werden <strong>in</strong> Abschnitt 4.5.7 beschrieben. In den Moduldaten wird zuletzt<br />

festgehalten, dass das Modul nun <strong>in</strong>stalliert ist.<br />

4.3.2 Entfernen von Modulen<br />

Das Entfernen von Modulen ist ke<strong>in</strong>e E<strong>in</strong>zeloperation, sondern wird immer im Zusammenhang mit e<strong>in</strong>er<br />

anderen Operation durchgeführt. Der Grund hierfür ist, dass man nur Module entfernen kann, die nicht<br />

mehr referenziert werden. Solche Module entstehen jedoch nur durch andere Veränderungsoperationen.<br />

E<strong>in</strong> anschauliches Beispiel ist das Austauschen e<strong>in</strong>er Funktion durch e<strong>in</strong>en Stellvertreter. Nach der<br />

Installation des Stellvertreters werden alle Verweise auf die ursprüngliche Funktion umgeschrieben.<br />

Die ursprüngliche Funktion wird dann nicht mehr benötigt und soll im Rahmen des Austauschens<br />

entfernt werden.<br />

Beim Entfernen von Modulen muss unterschieden werden zwischen Modulen mit veränderlichen<br />

Daten und Modulen mit konstanten Daten. S<strong>in</strong>d die Daten veränderbar, muss zunächst der aktuelle<br />

Zustand, also der Inhalt des Speichers, den das Modul repräsentiert, vom verwalteten Gerät gesichert<br />

und im Modulobjekt abgespeichert werden. Auf diese Weise ist es möglich, den aktuellen Zustand bei<br />

e<strong>in</strong>er erneuten Installation wieder herzustellen. Bei konstanten Modulen, wie zum Beispiel Funktionsmodulen<br />

ist das nicht notwendig.<br />

62

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!