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 Applikation und dem Betriebssystem darstellt. Die internationale Norm trägt die Bezeichnung ISO/IEC/IEEE 9945.
Inhaltsverzeichnis |
[Bearbeiten] 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.
[Bearbeiten] 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.
[Bearbeiten] 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]
[Bearbeiten] 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
[Bearbeiten] 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
[Bearbeiten] 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)
[Bearbeiten] Siehe auch
[Bearbeiten] 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).
[Bearbeiten] 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.
[Bearbeiten] 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