POSIX

POSIX
ISO/IEC/IEEE 9945
Basisdaten

EntwicklerPortable Application Standards Committee
Aktuelle VersionIEEE Std 1003.1-2024
BetriebssystemBetriebssystem-unabhängig
KategorieProgrammierschnittstelle
deutschsprachignein
PASC Committee

Das Portable Operating System Interface (POSIX [ˈpɒzɪks]) ist eine gemeinsam vom 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.

Eine alternative Bezeichnung lautet (The Open Group Technical Standard) Base Specifications. POSIX bildet die Grundlage der Single UNIX Specification.[2]

Entwicklung

Der 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

Die 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

Betriebssysteme 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

Folgende Betriebssysteme sind zum gesamten Standard vollständig kompatibel und somit POSIX-konform:

Weitgehend POSIX-kompatibel

Diese Betriebssysteme sind größtenteils kompatibel, aber nicht gänzlich konform zu den Standards:

POSIX-Kompatibilitätserweiterungen

Diese Betriebssysteme sind gewöhnlich nicht POSIX-kompatibel, es können aber Kompatibilitätserweiterungen eingesetzt werden. POSIX-Unterstützung wird in der Regel mittels Übersetzungs­bibliotheken oder einer Zwischenschicht „über“ dem Kernel umgesetzt. Volle POSIX-Konformität ist meist nicht gegeben.

Siehe auch

Einzelnachweise

  1. Unix versus Linux: Ein Vergleich der beiden Betriebssysteme. In: Digital Guide. 6. Oktober 2020, abgerufen am 14. Oktober 2022.
  2. https://publications.opengroup.org/standards/unix/t101
  3. Miklos G. Zilahi-Szabo: Kleines Lexikon der Informatik. Walter de Gruyter GmbH & Co KG, 2018, ISBN 978-3-486-78616-3, S. 393.
  4. POSIX.1 FAQ (englisch) – Frequently Asked Questions zu POSIX® 1003.1 (Version 1.12) bei The Open Group; vom 2. Februar 2006
  5. IEEE Std 1003.1, 2004 Edition (englisch) – IEEE-Standard 1003.1-2004
  6. IEEE Std 1003.1-2008
  7. IEEE Std 1003.1-2008, 2013 Edition
  8. IEEE Std 1003.1-2008, 2016 Edition
  9. IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) / The Open Group Base Specifications Issue 7, 2018 edition
  10. IEEE Std 1003.1-2024 / The Open Group Base Specifications Issue 8
  11. Christoph Prevezanos: Computer-Lexikon 2012. Pearson Deutschland GmbH, 2011, ISBN 978-3-8272-4728-5, S. 682.
  12. 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]).
  13. Zur POSIX-Konformität von BSD/OS (Memento vom 14. Juli 2011 im Internet Archive)
  14. Zur POSIX-Konformität von FreeBSD
  15. Erläuterung von Microsoft zu SFU. Abgerufen am 2. Januar 2011.
  16. Pthreads-w32: Open Source POSIX Threads for Win32
  17. APE – The ANSI/POSIX Environment. plan9.bell-labs.com, archiviert vom Original (nicht mehr online verfügbar) am 10. Mai 2008; 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.
  • David R. Butenhof: Programming with POSIX Threads. Taschenbuch Auflage. Addison-Wesley, 1997, ISBN 978-0-201-63392-4.