Portable Operating System Interface
POSIX ISO/IEC/IEEE 9945 | |
---|---|
Entwickler | Portable Application Standards Committee |
Aktuelle Version | IEEE Std 1003.1-2008 |
Betriebssystem | Betriebssystem-unabhängig |
Kategorie | Programmierschnittstelle |
Deutschsprachig | nein |
www.pasc.org |
Das Portable Operating System Interface (POSIX [ˈpɒzɪks]) ist ein gemeinsam von der IEEE und der Open Group für Unix entwickeltes standardisiertes Application Programming Interface, das die Schnittstelle zwischen Anwendungssoftware und dem Betriebssystem darstellt. Die internationale Norm trägt die Bezeichnung ISO/IEC/IEEE 9945.
Inhaltsverzeichnis
Entwicklung
Die heutigen Standards sind eine Weiterentwicklung 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;<ref>POSIX.1 FAQ (englisch) – Frequently Asked Questions zu POSIX® 1003.1 (Version 1.12) bei The Open Group; vom 2. Februar 2006</ref> 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 Open Group abgelöst. 2004 wurde eine leicht korrigierte Version IEEE Std 1003.1, 2004 Edition<ref>The Open Group Base Specifications Issue 6 (englisch) – IEEE-Standard 1003.1-2004</ref> veröffentlicht. Die gegenwärtig aktuelle Version ist die Überarbeitung von 2008.<ref>The Open Group Base Specifications Issue 7 (englisch) – IEEE-Standard 1003.1-2008</ref> Es besteht 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, die zusammen den Standard IEEE Std 1003.1-2008 bilden:
- Basis-Definitionen
- Eine Liste der im Standard benutzten Konventionen, Definitionen und Konzepte
- System-Schnittstelle
- Die C-Systemaufrufe und dazugehörige Header-Dateien.
- Kommandozeileninterpreter und Hilfsprogramme
- Eine Liste der Hilfsprogramme und der Kommandozeileninterpreter.
- Erklärungen
- Erläuterungen, warum der Standard so ist, wie er ist.
Die Standard-POSIX-Shell ist die ksh. 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.<ref>POSIX Certification</ref>
vollständig POSIX-konform
Folgende Betriebssysteme sind POSIX-kompatibel, sie halten sich an den gesamten Standard:
- A/UX
- AIX
- BlagOS
- BSD/OS<ref>Zur POSIX-Konformität von BSD/OS (im Internetarchiv)</ref>
- 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<ref>Zur POSIX-Konformität von FreeBSD</ref>
- Linux (die meisten Distributionen, siehe LSB)
- NetBSD
- OpenBSD
- DragonFly BSD
- PikeOS (Echtzeitbetriebssystem für eingebettete Systeme mit optionalen PSE51- und PSE52-Partitionen)
- 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<ref>Erläuterung von Microsoft zu SFU. Abgerufen am 2. Januar 2011. </ref> Unterstützung von Untermengen wie die Posix Threads wird z. B. durch „Pthreads-w32“<ref>Pthreads-w32: Open Source POSIX Threads for Win32</ref> ermöglicht.
- eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
- Plan 9: APE – ANSI/POSIX Environment<ref>APE – The ANSI/POSIX Environment. plan9.bell-labs.com, abgerufen am 21. Juli 2009 (englisch). </ref>
- Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
- AmigaOS/MorphOS mit der ixemul.library
Siehe auch
- Geschichte von Unix
- Microsoft Windows Services for UNIX (Interix)
- Linux Standard Base
- Native POSIX Thread Library
- TRON-Projekt
Einzelnachweise
<references />
Literatur
W. Richard Stevens, Stephen A. Rago: Advanced Programming in the UNIX Environment, Second Edition. Paperback Auflage. Addison-Wesley, Boston 2008, ISBN 978-0-321-52594-9.
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)
- Inhalt von POSIX:2001 in der 2004-Ausgabe
- Inhalt von POSIX:2013