POSIX
POSIX ISO/IEC/IEEE 9945 | |
---|---|
Basisdaten
| |
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 [IEEE und der Open Group für Unix entwickeltes standardisiertes Application Programming Interface, das die Schnittstelle zwischen Anwendungssoftware und Betriebssystem darstellt. Die internationale Norm trägt die Bezeichnung ISO/IEC/IEEE 9945.
]) ist ein gemeinsam vomEntwicklung
Der heutige Standard ist eine Weiterentwicklung aus einem Projekt von 1985. Der Begriff POSIX wurde von Richard Stallman vorgeschlagen und kommt der Bitte des IEEE nach einem einprägsamen Namen nach[1]; er löste die Bezeichnung IEEE-IX ab. Die meisten Unix-Derivate halten sich weitgehend 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 des IEEE und Open Group abgelöst. 2004 wurde eine leicht korrigierte Version IEEE Std 1003.1, 2004 Edition[2] veröffentlicht. Die aktuelle Version ist eine Überarbeitung aus dem Jahr 2008.[3] Seit es die Möglichkeit gibt, ein Produkt zertifizieren zu lassen, werben einige Linux-Distributoren damit, ein POSIX-konformes Betriebssystem zu vertreiben.
Spezifikation
Die Spezifikation der Benutzer- und Software-Schnittstelle des Betriebssystems ist in vier Teile gegliedert, 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 über den Standard.
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 und stellen Kontrolle über Prozessen sowie die Benutzer- und Gruppenverwaltung her.
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 des IEEE genannt.[4]
Vollständig POSIX-konform
Folgende Betriebssysteme sind POSIX-kompatibel und 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
- DragonFly BSD
- PikeOS (Echtzeitbetriebssystem für eingebettete Systeme mit optionalen PSE51- und PSE52-Partitionen)
- SkyOS
- Stratus VOS
- SuperUX
- Syllable
- VSTa
Konform durch Kompatibilitätserweiterungen
Diese Betriebssysteme sind nicht offiziell als POSIX-konform zertifiziert, sind aber weitgehend konform mit dem Standard, 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: APE – ANSI/POSIX Environment[9]
- 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
- ↑ 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 ( vom 14. Juli 2011 im Internet Archive) (im Internetarchiv)
- ↑ 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:2013