|
11.3 Systemprogrammierung
Die Anlage Systemprogrammierung unterstützt die maschinennahe Programmierung
und die Verwendung von Eigenschaften der zugrundeliegenden Hardware. Zu den Anwendungsbereichen
gehören eingebettete Echtzeitsysteme, Ein-/Ausgabetreiber, Betriebssysteme
und Laufzeitsysteme, zeitkritische hardwareabhängige Anwendungen, verteilte
Systeme und andere. Die Implementierung dieser Anlage ist eine Voraussetzung für
die Implementierung der Anlage "Echtzeitsysteme" und der Anlage "Verteilte
Systeme".
Folgende zusätzliche Fähigkeiten werden hier festgelegt:
- Zugriff auf Maschinenbefehle
- Interne Darstellung
- Unterbrechungsbearbeitung
- Anforderungen an die Vorauswertung
- Das Pragma "Discard_Names"
- Behandlung von gemeinsamen Variablen
- Prozeßbezeichnung und Attribute
Um ein Mindestmaß an Portierbarkeit zu sichern, müssen Programmen,
die maschinennahe Eigenschaften verwenden, einige Restriktionen auferlegt werden:
- Maschinennahe Eigenschaften sollten nur verwendet werden, wenn Daten mit der
Hardware ausgetauscht werden müssen oder Softwareteile eingebunden werden,
die eine besondere Art der Datendarstellung benötigen.
- Dieser Austausch sollte auf wenige Schnittstellenpakete beschränkt sein.
Das Programm kann dann auf eine andere Maschine gebracht werden, indem nur die
Schnittstellenpakete angepaßt werden und der Hauptteil des Programms unverändert
bleibt.
- Wenn sich das Programm auf eine spezielle Eigenschaft der zugrundeliegenden
Maschine beziehen muß, sollte es dies in allgemeiner Form tun. Wenn sich
z. B. ein Programm auf die Anzahl von Bits beziehen muß, die verwendet werden,
um einen ganzzahligen Wert darzustellen, kann es dies mit dem Attribut IntegerSize
tun, anstelle einer arteigenen Zahl
wie 16, 32 oder 64. Dieses Attribut wird zu der Anzahl Bits ausgewertet, die auf
der jeweiligen Maschine für den Typ Integer verwendet werden.
|