10. Parallele Prozesse
 
zurück
10.3 Basiskonzepte / Umgebungsprozeß


Der Entwurf von Prozessen und weitgehend auch das Ergebnis ihrer Ausführung ist unabhängig davon, wie die Parallelität der Prozesse tatsächlich realisiert ist, ob Parallelität nur simuliert wird, ob Prozesse mit Timeslicing in einem Mehrprozeß-Betriebssystem quasi-parallel oder auf mehreren Prozessoren echt parallel abgearbeitet werden.

Auch Prozesse, die nicht miteinander agieren, unterwirft Ada Bedingungen. Diese hängen insbesondere von den jeweiligen Zuständen der Prozesse ab. Ada definiert, welche Abhängigkeiten durch die Generierung von Prozessen entstehen.

Ein Ada-Programm wird in einem sogenannten Umgebungsprozeß gestartet, der nicht von der Sprache definiert wird. Dieser Umgebungsprozeß elaboriert alle Bibliothekseinheiten, die im Deklarationsteil der Umgebung angesprochen werden. Danach wird, soweit vorhanden, das Haupt(sub)programm aufgerufen. Das ist jene parameterlose Prozedur, die beim Binden als Hauptprogramm angegeben wurde.

Das Hauptprogramm wird immer als eigenständiger Prozeß gestartet, d. h. nach dem Starten eines weiteren Prozesses sind zwei Prozesse aktiv. Ada bezeichnet alle diejenigen Prozesse, durch die weitere Prozesse gestartet werden, als Meister bzw. als Meisterprozeß für diese. Ein Meister kann solange nicht beendet werden, wie irgendein durch ihn gestarteter Prozeß noch nicht beendet ist. Der Umgebungsprozeß ist demnach ein solcher Meister und endet erst dann, wenn alle vom Ada-Programm gestarteten Prozesse beendet sind.

Da jeder Prozeß bis auf den Umgebungsprozeß einen Meister besitzt, können Prozesse, insbesondere wenn sie ineinander verschachtelt gestartet werden, eine Hierarchie von Meistern besitzen, die alle auf die Beendigung des innersten Prozesses warten müssen, ehe sie selbst beendet werden können.

Ein Prozeß kann mit jedem von ihm sichtbaren Prozeß in Kontakt treten. Ein Prozeß, der keinem anderen Prozeß sichtbar ist, wird als anonymer Prozeß bezeichnet.
Auf die Beendigung von anonymen Prozessen muß ein Meisterprozeß ebenso wie alle noch ansprechbaren Prozesse warten, bevor er enden kann. Ein anonymer Prozeß ist dem Meisterprozeß bekannt, nur (vom Programm) nicht mehr ansprechbar, weil nicht sichtbar.


 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.