POSIX
Das Portable Operating System Interface (POSIX [IEEE und der Open Group für Unix entwickelte standardisierte Programmierschnittstelle, welche die Schnittstelle zwischen Anwendungssoftware und Betriebssystem darstellt.[1] Die internationale Norm trägt die Bezeichnung ISO/IEC/IEEE 9945.
]) ist eine gemeinsam vomPOSIX ISO/IEC/IEEE 9945 | |
---|---|
Basisdaten
| |
Entwickler | Portable Application Standards Committee |
Aktuelle Version | IEEE Std 1003.1-2024 |
Betriebssystem | Betriebssystem-unabhängig |
Kategorie | Programmierschnittstelle |
deutschsprachig | nein |
PASC Committee |
Eine alternative Bezeichnung lautet (The Open Group Technical Standard) Base Specifications. POSIX bildet die Grundlage der Single UNIX Specification.[2]
Entwicklung
BearbeitenDer heutige Standard ist eine Weiterentwicklung aus einem Projekt von 1985.[3] Der Begriff POSIX wurde von Richard Stallman vorgeschlagen und kommt der Bitte des IEEE nach einem einprägsamen Namen nach;[4] 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[5] veröffentlicht. Eine Revision erfolgte 2008,[6] diese erhielt 2013[7], 2016[8] und 2017[9] weitere Revisionen. Im Jahr 2024 erfolgte eine neue Ausgabe des Standards.[10]
Spezifikation
BearbeitenDie Spezifikation der Benutzer- und Software-Schnittstelle des Betriebssystems ist in vier Teile gegliedert, die zusammen den Standard IEEE Std 1003.1-2024 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.
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 Prozesse sowie die Benutzer- und Gruppenverwaltung her.
POSIX-kompatible Betriebssysteme
BearbeitenBetriebssysteme können vollständig oder teilweise POSIX-kompatibel sein – dies hängt davon ab, ob sie die POSIX-Standards gänzlich oder nur teilweise umsetzen. Die (meist minimalen) Abweichungen vom Standard sind heutzutage primär eine bewusste Entscheidung zugunsten anderer Kompatibilität und weniger ein Mangel an Umsetzbarkeit. POSIX-konforme Betriebssysteme werden von der Open-Group mit dem Unix-Zeichen versehen.[11]
Vollständig POSIX-konform
BearbeitenFolgende Betriebssysteme sind zum gesamten Standard vollständig kompatibel und somit POSIX-konform:
- A/UX
- AIX[12]
- BSD/OS[13]
- HP-UX[12]
- INTEGRITY
- IRIX
- LynxOS
- macOS inkl. Darwin
- MINIX
- OpenVMS
- penOS
- QNX
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris,[12] OpenSolaris sowie illumos und darauf aufbauende Systeme
- UnixWare
- velOSity
- VxWorks
Weitgehend POSIX-kompatibel
BearbeitenDiese Betriebssysteme sind größtenteils kompatibel, aber nicht gänzlich konform zu den Standards:
- BeOS und dessen Open-Source-Nachfolger Haiku
- DragonFly BSD
- FreeBSD[14]
- GNU
- KasperskyOS
- Linux, siehe auch Linux Standard Base (LSB)
- NetBSD
- Nucleus RTOS
- OpenBSD
- PikeOS (Echtzeitbetriebssystem für eingebettete Systeme mit optionalen PSE51- und PSE52-Partitionen)
- SerenityOS
- SkyOS
- Stratus VOS
- SuperUX
- Syllable
- VSTa
POSIX-Kompatibilitätserweiterungen
BearbeitenDiese Betriebssysteme sind gewöhnlich nicht POSIX-kompatibel, es können aber Kompatibilitätserweiterungen eingesetzt werden. POSIX-Unterstützung wird in der Regel mittels Übersetzungsbibliotheken oder einer Zwischenschicht „über“ dem Kernel umgesetzt. Volle POSIX-Konformität ist meist nicht gegeben.
- Die NT-Kernel von Windows bei Nutzung der Microsoft Windows Services for UNIX.[15] Unterstützung von Untermengen wie die Posix Threads wird z. B. durch „Pthreads-w32“[16] ermöglicht.
- eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
- Plan 9: APE – ANSI/POSIX Environment[17]
- Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
- AmigaOS/MorphOS mit der ixemul.library
Siehe auch
BearbeitenEinzelnachweise
Bearbeiten- ↑ Unix versus Linux: Ein Vergleich der beiden Betriebssysteme. In: Digital Guide. 6. Oktober 2020, abgerufen am 14. Oktober 2022.
- ↑ https://publications.opengroup.org/standards/unix/t101
- ↑ Miklos G. Zilahi-Szabo: Kleines Lexikon der Informatik. Walter de Gruyter GmbH & Co KG, 2018, ISBN 978-3-486-78616-3, S. 393.
- ↑ POSIX.1 FAQ (englisch) – Frequently Asked Questions zu POSIX® 1003.1 (Version 1.12) bei The Open Group; vom 2. Februar 2006
- ↑ IEEE Std 1003.1, 2004 Edition (englisch) – IEEE-Standard 1003.1-2004
- ↑ IEEE Std 1003.1-2008
- ↑ IEEE Std 1003.1-2008, 2013 Edition
- ↑ IEEE Std 1003.1-2008, 2016 Edition
- ↑ IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) / The Open Group Base Specifications Issue 7, 2018 edition
- ↑ IEEE Std 1003.1-2024 / The Open Group Base Specifications Issue 8
- ↑ Christoph Prevezanos: Computer-Lexikon 2012. Pearson Deutschland GmbH, 2011, ISBN 978-3-8272-4728-5, S. 682.
- ↑ a b c Johannes Ahrends: Oracle 11g - Release 2 für den DBA: produktive Umgebungen effizient konfigurieren, optimieren und verwalten. Pearson Deutschland GmbH, 2011, ISBN 978-3-8273-2680-5, S. 89 (google.com [abgerufen am 14. Oktober 2022]).
- ↑ Zur POSIX-Konformität von BSD/OS ( vom 14. Juli 2011 im Internet Archive)
- ↑ 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, archiviert vom (nicht mehr online verfügbar) am 10. Mai 2008; abgerufen am 21. Juli 2009 (englisch).
Literatur
Bearbeiten- 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.
- David R. Butenhof: Programming with POSIX Threads. Taschenbuch Auflage. Addison-Wesley, 1997, ISBN 978-0-201-63392-4.
Weblinks
Bearbeiten- 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.1-2017 (mit Links für ältere Versionen: 2008, 2013, 2016)
- Inhalt von POSIX.1-2024 (mit Links für ältere Versionen: 2008, 2013, 2016, 2018)