POSIX
| POSIX 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 | |
Das Portable Operating System Interface (POSIX []) ist eine gemeinsam vom IEEE und der Open Group für Unix entwickelte standardisierte Programmierschnittstelle, welche die Schnittstelle zwischen Anwendungssoftware und Betriebssystem darstellt. Der Standard trägt die Bezeichnung IEEE 1003, die entsprechende internationale Norm die Bezeichnung ISO/IEC 9945.
Eine alternative Bezeichnung lautet (The Open Group Technical Standard) Base Specifications. POSIX bildet die Grundlage der Single UNIX Specification.[1]
Entwicklung
[Bearbeiten | Quelltext bearbeiten]Der heutige Standard ist eine Weiterentwicklung aus einem Projekt von 1985.[2] Der Begriff POSIX wurde von Richard Stallman vorgeschlagen und kommt der Bitte des IEEE nach einem einprägsamen Namen nach;[3] er löste die Bezeichnung IEEE-IX ab.
| Version | Anmerkungen |
|---|---|
| IEEE 1003.1-1990 Teil 1 | Definiert die Programmierschnittstelle für die Programmiersprache C |
| IEEE 1003.2-1992 Teil 2 | Definiert die Shell und Werkzeuge |
| IEEE Std 1003.1-2001 | Zusammenfassung der bisherigen Teile 1003.1 und 1003.2
Gemeinsam herausgegeben von IEEE und Open Group |
| IEEE Std 1003.1, 2004 Edition | Leichte Korrekturen gegenüber 2001 |
| 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 |
Die meisten unixartigen Systeme halten sich weitgehend an die POSIX-Standards.
Spezifikation
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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.[4]
Vollständig POSIX-konform
[Bearbeiten | Quelltext bearbeiten]Folgende Betriebssysteme sind zum gesamten Standard vollständig kompatibel und somit POSIX-konform:
- A/UX
- AIX[5]
- BSD/OS[6]
- HP-UX[5]
- INTEGRITY
- IRIX
- LynxOS
- macOS inkl. Darwin
- MINIX
- OpenVMS
- penOS
- QNX
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris,[5] OpenSolaris sowie illumos und darauf aufbauende Systeme
- UnixWare
- velOSity
- VxWorks
Weitgehend POSIX-kompatibel
[Bearbeiten | Quelltext bearbeiten]Diese Betriebssysteme sind größtenteils kompatibel, aber nicht gänzlich konform zu den Standards:
- BeOS und dessen Open-Source-Nachfolger Haiku
- DragonFly BSD
- FreeBSD[7]
- 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
[Bearbeiten | Quelltext bearbeiten]Diese 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.[8] Unterstützung von Untermengen wie die Posix Threads wird z. B. durch „Pthreads-w32“[9] ermöglicht.
- eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
- Plan 9: APE – ANSI/POSIX Environment[10]
- Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
- AmigaOS/MorphOS mit der ixemul.library
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Geschichte von Unix
- Microsoft Windows Services for UNIX (Interix)
- Linux Standard Base
- Native POSIX Thread Library
- TRON-Projekt
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ 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
- ↑ 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 | Quelltext 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 | Quelltext 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)