Hardwareunabhängigkeit der PowerUP-Software

Im wesentlichen bietet die PowerUP System Software drei Schnittstellen, zum einen den HAL (Hardware Abstraction Layer), das ABI (Application Binary Interface) und das API (Application Programming Interface). Der HAL ist grundsätzlich immer hardwareabhängig; es ist eine Low Level-Software, die üblicherweise vom Entwickler der Hardware gestellt wird, da sie direkt mit der Hardware kommuniziert und zur Erstellung eines alle Funktionen der Hardware optimal nutzenden HAL die vollständige Kenntnis der Hardware-Funktionalität notwendig ist. Dies gilt für diese Hardware, aber auch jede beliebige andere Prozessor-Hardware, die möglicherweise entwickelt wird.

Das ABI setzt auf dem HAL auf und stellt eine "physikalische" Definition der Schnittstelle (z.B. Registerlayout etc.) dar, d.h im ABI werden die Konventionen für Funktionsaufrufe innerhalb eines Betriebssystems festgelegt. Unterschiedliche Hardware-Produkte mit einem kompatiblen HAL können ein und dasselbe ABI verwenden. Das ABI von phase 5 entspricht im übrigen dem Standard EABI für PowerPC von Motorola, in dem die Registerlayouts und Calling Conventions für PowerPC-basierte Systeme plattformübergreifend festgelegt sind. Durch die konsequente Verwendung des standadisierten Motorola PowerPC-EABI innerhalb des HAL wird z.B. die Verwendung von Software-Entwicklungssystemen auf anderen Plattformen oder standardisierten Libraries für andere PowerPC-Systeme ermöcht (beispielsweise kann die von Motorola entwickelte LIBMOTO-Library für MkLinux, welche die Floating Point-Routinen erheblich beschleunigt, aufgrund dieser ABI-Kompatibilität bei Entwicklungen unter der PowerUP System Software direkt verwendet werden; diese Library wird auf der PowerUP CD-ROM mitgeliefert).

Das API (Application Programming Interface) ist die auf dem ABI basierende, logisch definierte Schnittstelle zu den Software-Anwendungen. In wesentlichen ist dies die Definition der Library-Funktionen der PowerUP System-Libraries. Diese Funktionen sind durch die mitgelieferten oder bei phase 5 verfügbaren Entwicklerunterlagen definiert und über alle Produkte der PowerUP-Familie einheitlich. Zukünftige Erweiterungen des Funktionsumfangs werden selbstverständlich kompatibel zu den bereits existierenden System-Libraries erfolgen. Selbst bei massiven Änderungen der Hardware, wie zum Beispiel Cluster-basierende Mehrprozessor-Systeme, können bestehende Software-Produkte ohne Anpassung weiterverwendet werden und die Fähigkeiten der Hardware nutzen. Dementsprechend ist eine zu unserer PowerUP System Software kompatible ABI und API, die volle übergreifende Softwarekompatibilität zwischen unterschiedlichen Systemen gewährleistet, von jedem anderen Hardware-Hersteller ohne Probleme implementierbar, unabhängig von der individuellen funktionellen Konzeption der Hardware.

Bitte beachten Sie zu diesem Thema auch die von phase 5 vorgeschlagenen Richtlinien zur PowerUP-Programmierung.

Zusammenfassend kann festgestellt werden, daß der konzeptionelle Aufbau der PowerUP System Software sämtliche Erfordernisse erfüllt, um eine einheitliche Softwareschnittstelle für beliebige Hardwareplattformen (inklusive Mehrprozessorsysteme) bereitzustellen, und damit eine optimale Hardwareunabhängigkeit gewährleistet. Die eigens gebotenen Möglichkeiten bauen darüber hinaus auf allgemeinen und verbreiteten Standards auf, wovon Anwender und Entwickler bereits heute nutzbare Vorteile haben (siehe LIBMOTO-Beispiel).




zurück zur Übersicht zum Seitenanfang


phase5


Diese Seite ist Copyright © 2005-2017 bei Matthias Münch. Alle Rechte vorbehalten.
Einige Inhalte unterliegen dem Copyright von phase 5 digital products.
Amiga, AmigaOS und das Amiga-Logo sind eingetragene Warenzeichen von Amiga Inc.
PowerPC und das PowerPC-Logo sind eingetragene Warenzeichen der IBM Corporation