- Portable Operating System Interface
-
POSIX
DIN/EN/ISO/IEC 9945Entwickler 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 Applikation und dem Betriebssystem darstellt. Der (inter-)nationale Standard trägt die Bezeichnung DIN/EN/ISO/IEC 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;[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 Open Group abgelöst. 2004 wurde eine leicht korrigierte Version IEEE Std 1003.1, 2004 Edition[2] veröffentlicht. Die gegenwärtig aktuelle Version ist die Überarbeitung von 2008.[3] 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 Unix-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.[4]
vollständig POSIX-konform
Folgende Betriebssysteme sind POSIX-kompatibel, sie halten sich an den gesamten Standard:
- A/UX
- AIX
- BlagOS
- BSD/OS[5]
- 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[6]
- Linux (die meisten Distributionen, siehe LSB)
- NetBSD
- OpenBSD
- 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[7] Unterstützung von Untermengen wie die Posix Threads wird z. B. durch „Pthreads-w32“[8] ermöglicht.
- eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
- Plan 9 from Bell Labs: APE – ANSI/POSIX Environment[9]
- Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
Siehe auch
Einzelnachweise
- ↑ POSIX.1 FAQ (englisch) – Frequently Asked Questions zu POSIX® 1003.1 (Version 1.12) bei The Open Group; vom 2. Februar 2006
- ↑ The Open Group Base Specifications Issue 6 (englisch) – IEEE-Standard 1003.1-2004
- ↑ The Open Group Base Specifications Issue 7 (englisch) – IEEE-Standard 1003.1-2008
- ↑ POSIX Certification
- ↑ Zur POSIX-Konformität von BSD/OS
- ↑ Zur POSIX-Konformität von FreeBSD
- ↑ Erläuterung von Microsoft zu SFU. Abgerufen am 2. Januar 2011.
- ↑ Pthreads-w32: Open Source POSIX Threads for Win32
- ↑ APE – The ANSI/POSIX Environment. plan9.bell-labs.com, abgerufen am 21. Juli 2009 (englisch).
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:2008
Wikimedia Foundation.