Advertisement

Prozesse

  • Annette Weinert

Zusammenfassung

Viele Rechneranwendungen wie Flugbuchungssysteme und Automatisierungssysteme lassen sich sich einfacher und verständlicher durch nebenläufige Prozesse als durch ein sequentielles Programm realisieren. Anwendungen wie Telefonnetze müssen in irgendeiner Form Parallelität aufweisen. Die Sprache Ada, der wir uns zunächst zuwenden, wurde mit Blick auf solche Anwendungen entworfen. Es gibt daher in Ada ein Sprachkonstrukt, das es ermöglicht, Programme zu schreiben, deren Anweisungen parallel ablaufen können. Prozesse in Ada, sogenannte Tasks, sind wie Pakete in Spezifikation und Rumpf unterteilt. Prozesse sind selbst keine eigenständigen Übersetzungseinheiten, können aber in beliebigen Vereinbarungsteilen vereinbart werden. Die Kommunikation von Prozessen erfolgt in Ada über Aufrufe sogenannter Eingänge, die ein Ada-Prozeß nach außen zur Verfügung stellt, und Annahme-Anweisungen, welche die Aufrufe bearbeiten. Die Kommunikation in Ada ist asymmetrisch, da der Aufrufer eines Eingangs zwar den Empfänger benennen muß, dieser den Rufenden aber nicht kennt. Ein Prozeß wird aktiv vor der ersten Anweisung desjenigen Programmteils, in dem er vereinbart ist. Ein Prozeß beendet seine Ausführung, wenn alle Anweisungen des Prozeßrumpfes ausgeführt wurden. Der Prozeß terminiert aber erst, wenn alle eventuell vorhandenen von dem erzeugenden Block ebenfalls erzeugten Prozesse schon terminiert sind. Außerdem kann ein Prozeß durch eine Abbruch-Anweisung beendet werden. Ein abgebrochener Prozeß terminiert spätestens beim nächsten Synchronisationspunkt. Man kann in Ada auch Prozeßtypen definieren. So ist es möglich, über Zeigertypen Prozesse dynamisch zu erzeugen. Das Hauptprogramm selbst ist auch ein Prozeß.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1992

Authors and Affiliations

  • Annette Weinert
    • 1
  1. 1.KarlsruheDeutschland

Personalised recommendations