- Posix
-
Das Portable Operating System Interface (POSIX [ˈpɒsɪks]) ist ein gemeinsam von der IEEE und der Open Group für Unix entwickeltes standardisiertes Application Programming Interface, das die Schnittstelle zwischen Applikation und dem Betriebssystem darstellt. Der (inter-)nationale Standard trägt die Bezeichnung DIN/EN/ISO/IEC 9945.
Inhaltsverzeichnis
Entwicklung
Die Standards entwickelten sich aus einem Projekt im Jahr 1985. Der Begriff POSIX wurde von Richard Stallman als Reaktion auf den IEEE-Aufruf nach einem einprägsamen Namen vorgeschlagen[1]; zuvor trug der Standard die Bezeichnung IEEE-IX. Die meisten Unix-Derivate halten sich mehr oder weniger an die in IEEE1003.1 (1990) und IEEE1003.2 (1992) festgelegten Standards. Diese älteren Versionen wurden 2001 durch die überarbeitete Version IEEE Std 1003.1-2001 der IEEE und Opengroup abgelöst. Die gegenwärtig aktuelle Version ist von 2004[2]; sie enthält die technischen Korrekturen TC1 und TC2. Es besteht zudem die Möglichkeit, ein Produkt zertifizieren zu lassen. Einige Linux-Distributoren werben inzwischen damit, ein POSIX-konformes Betriebssystem zu vertreiben.
Spezifikation
Die Spezifikation der Benutzer- und Software-Schnittstelle des Betriebssystems ist in vier Teile unterteilt. Zusätzlich existieren noch Erweiterungen im Echtzeitbereich:
- Basis-Definitionen (POSIX.1/IEEE 1003.1-2001): Eine Liste der im Standard benutzten Konventionen und Definitionen, zusätzlich noch eine Liste der bereitzustellenden C-Headerdateien
- Kommandozeileninterpreter und Hilfsprogramme (POSIX.2/IEEE 1003.1-2001): Eine Liste der Hilfsprogramme und der Kommandozeileninterpreter
- Echtzeiterweiterungen (POSIX.4/IEEE 1003.1b-1993/IEEE 1003.1d-1999)
- Thread-Erweiterungen (POSIX.4a/IEEE 1003.1c-1994)
- System-Schnittstelle: eine Liste der C-Systemaufrufe, die unterstützt werden müssen
- Erklärungen: Erläuterungen zum Standard
Die Standard-POSIX-Shell ist die Korn-Shell. Weitere Hilfsprogramme wie awk, vi oder echo sind ebenfalls Teil des POSIX-Standards. Die C-Funktionen stellen unter anderem Ein- bzw. Ausgabe (für Dateien, Terminals und Netzwerkdienste) zur Verfügung, daneben Erzeugung und Kontrolle von Prozessen, sowie Benutzer- und Gruppenverwaltung.
POSIX-konforme Betriebssysteme
Betriebssysteme können vollständig oder teilweise POSIX-konform sein – dies hängt davon ab, ob sie die POSIX-Standards gänzlich oder nur zum Teil einhalten. Zertifizierte Produkte werden auf der POSIX Certification-Website der IEEE genannt.
Vollständig POSIX-konform
Folgende Betriebssysteme sind POSIX-kompatibel, sie halten sich an den gesamten Standard:
- A/UX
- AIX
- BlagOS
- BSD/OS[3]
- Darwin (Mac OS X)
- HP-UX
- INTEGRITY
- Irix
- LynxOS
- MINIX
- OpenVMS
- penOS
- QNX
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris und OpenSolaris
- UnixWare
- velOSity
- VxWorks
Weitgehend POSIX-konform
Diese Betriebssysteme wurden nicht offiziell als POSIX-kompatibel zertifiziert, halten sich aber an den Großteil der Standards:
- BeOS und dessen Open Source Nachfolger Haiku
- Nucleus RTOS
- FreeBSD[4]
- GNU/Linux (die meisten Distributionen, siehe LSB)
- NetBSD
- OpenBSD
- SkyOS
- SuperUX
- Syllable
- VSTa
Konform durch Kompatibilitätserweiterungen
Diese Betriebssysteme sind nicht offiziell als POSIX-konform zertifiziert, sind aber weitgehend standardkonform, wobei die POSIX-Unterstützung durch eine Art Kompatibilitätserweiterung (in der Regel Übersetzungsbibliotheken) oder einer Zwischenschicht über dem Kernel implementiert wird. Ohne diese Erweiterung sind sie gewöhnlich nicht POSIX-konform.
- Die NT-Kernel von Microsoft Windows bei Nutzung der Microsoft Windows Services for UNIX [5]
- eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
- Plan 9 from Bell Labs APE – ANSI/POSIX Environment [1]
- Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
Siehe auch
- TRON-Projekt – alternativer Betriebssystem-Standard zu POSIX
- Interix – vollständiges POSIX- und Unix-Subsystem für Microsoft's Windows NT-basierte Betriebssysteme
- Unix, Geschichte von Unix
- Linux Standard Base
Einzelnachweise
- ↑ POSIX® 1003.1 FAQ Version 1.12. 2. Februar 2006. Abgerufen am 2006-07-16.
- ↑ IEEE Std 1003.1, 2004 Edition, The Open Group Technical Standard Base Specifications, Issue 6
- ↑ Zur POSIX-Konformität von BSD/OS
- ↑ Zur POSIX-Konformität von FreeBSD
- ↑ Erläuterung von Microsoft zu SFU
Weblinks
- standards.ieee.org/regauth/posix
- Portable Application Standards Committee, dieses Gremium pflegt den Standard beim IEEE weiter (englisch)
- POSIX.1 FAQ Häufig gestellte Fragen (englisch)
- The Open Group Base Specifications Issue 6
Wikimedia Foundation.