Was ist POSIX?
Die tragbare Betriebssystemschnittstelle für Computerumgebungen (POSIX®) ist eine Reihe von Standards und Spezifikationen, mit denen festgelegt wird, wie Computerprogramme mit einem Betriebssystem interagieren können. Anwendungen, die diesen Standards entsprechen, können einfacher auf andere Plattformen portiert werden, die ebenfalls die Spezifikationen unterstützen. Diese Spezifikationen wurden international offiziell verabschiedet und von einigen speziellen Kunden in den Bereichen Regierung, Verteidigung und Luft- und Raumfahrt gefordert. Es gibt verschiedene Niveaus der Übereinstimmung mit der Normenfamilie, die stark vom Design der UNIX®-Plattform beeinflusst wurden.
Es hat viele Versuche gegeben, die Schwierigkeiten bei der Entwicklung von Software für mehr als eine Computerplattform zu lindern. Unterschiede im Betriebssystemdesign, den verfügbaren Programmiersprachen und der Hardware führen zu Kompatibilitätsproblemen, die nicht einfach zu überwinden sind. Es gibt viele verschiedene Meinungen darüber, wie die Herausforderungen des Cross-Platform-Computing am besten bewältigt werden können. POSIX® verfolgt einen regelbasierten Ansatz, der die Interaktion von Anwendungen mit der zugrunde liegenden Plattform regelt und die Einbeziehung einiger Dienstprogramme vorschreibt. Diese Regeln gelten sowohl für Anwendungen als auch für Betriebssysteme und bieten eine Standardmethode für die Kommunikation zwischen beiden.
Das Ziel von POSIX® ist die Bereitstellung einer sogenannten Quellcode-Portabilität. Der Quellcode, die für den Menschen lesbare Version eines Computerprogramms, das zum Erstellen von Anwendungen verwendet wird, wird in Maschinencode „kompiliert“, der von den Mikroprozessoren in allen Computern verstanden werden kann. Verschiedene Prozessoren enthalten verschiedene Arten von Maschinencode. Dies bedeutet, dass ein Programm nicht nur für ein Betriebssystem geschrieben werden muss, sondern auch für die bestimmte Hardware, auf der das Programm ausgeführt wird. Quellcode-Portabilität bedeutet, dass der Quellcode eines Programms mit wenig oder gar keinem Aufwand für verschiedene Plattformen kompiliert werden kann. Dadurch ist es effizienter, vorhandenen Code wiederzuverwenden, als das Programm von Grund auf neu zu erstellen.
Viele große Unternehmen, die eine Vielzahl von Hard- und Software erwerben, betrachten die POSIX®-Standardfamilie als wichtiges oder sogar wesentliches Merkmal für die von ihnen erworbenen Produkte. Das Institut für Elektrotechnik und Elektronik (IEEE), die International Organization for Standardization (ISO) und die International Electrotechnical Commission (IEC) haben die POSIX®-Standards als IEEE 1003 und ISO / IEC 9945 bestätigt. Diese internationale Übernahme hat die Standards populär gemacht Regierungskunden. Einige Militär- und Luftfahrtkunden benötigen die Standards, um die Anpassung von Anwendungen an spezielle Computerplattformen zu erleichtern, die in diesen Bereichen verwendet werden. Die US Navy hat beispielsweise die Standards in ihre Open Architecture Computing Environment aufgenommen, eine Initiative, die darauf abzielt, die Interoperabilität der Software für Kriegsschiffe, unbemannte Luftfahrzeuge und Tauchboote zu gewährleisten.
POSIX® ist eher eine Familie verwandter Standards als eine einzelne Spezifikation. Einige werden gut unterstützt, andere nicht. Es gibt auch verschiedene Unterstützungsstufen, wobei "konforme" Softwareprodukte strikt den Standards entsprechen und "konforme" Produkte nur einige von ihnen unterstützen. Viele der POSIX®-Spezifikationen basierten auf den UNIX®-Betriebssystemen, sodass eine Reihe von UNIX®- und UNIX®-ähnlichen Plattformen die Standards ab Werk unterstützen. Einige andere Plattformen unterstützen IEEE 1003 durch die Verwendung zusätzlicher Software.