Zum Inhalt springen

POSIX

aus Wikipedia, der freien Enzyklopädie
POSIX
ISO/IEC/IEEE 9945

[[Datei:Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.|150px]]
Basisdaten

Maintainer Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Entwickler Portable Application Standards Committee
Erscheinungsjahr Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Aktuelle Version IEEE Std 1003.1-2024
Aktuelle Vorabversion Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
(Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Betriebssystem Betriebssystem-unabhängig
Programmier­sprache Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Kategorie Programmierschnittstelle
Lizenz Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
deutschsprachig ja
PASC Committee

Das Portable Operating System Interface (POSIX [<templatestyles src="IPA/styles.css" />ˈpɒzɪksSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.]) 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.<ref>https://publications.opengroup.org/standards/unix/t101</ref>

Entwicklung[Bearbeiten]

Der heutige Standard ist eine Weiterentwicklung aus einem Projekt von 1985.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref> Der Begriff POSIX wurde von Richard Stallman vorgeschlagen und kommt der Bitte des IEEE nach einem einprägsamen Namen nach;<ref>POSIX.1 FAQ (englisch) – Frequently Asked Questions zu POSIX® 1003.1 (Version 1.12) bei The Open Group; vom 2. Februar 2006</ref> er löste die Bezeichnung IEEE-IX ab.

Versionen des POSIX-Standards
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]

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]

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden. 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.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref> Vorlage:Hinweisbaustein

Vollständig POSIX-konform[Bearbeiten]

Folgende Betriebssysteme sind zum gesamten Standard vollständig kompatibel und somit POSIX-konform: <section begin="konform" />

Weitgehend POSIX-kompatibel[Bearbeiten]

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden. Diese Betriebssysteme sind größtenteils kompatibel, aber nicht gänzlich konform zu den Standards:

POSIX-Kompatibilitätserweiterungen[Bearbeiten]

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden. 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.

  • Die NT-Kernel von Windows bei Nutzung der Microsoft Windows Services for UNIX.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Unterstützung von Untermengen wie die Posix Threads wird z. B. durch „Pthreads-w32“<ref>Pthreads-w32: Open Source POSIX Threads for Win32</ref> ermöglicht.
  • eCos – POSIX ist Teil der Standard-Distribution und wird von vielen Anwendungen verwendet.
  • Plan 9: APE – ANSI/POSIX Environment<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] plan9.bell-labs.com, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2008-05-10; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
  • Symbian OS mit PIPS (PIPS Is POSIX on Symbian)
  • AmigaOS/MorphOS mit der ixemul.library

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />

Literatur[Bearbeiten]

  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

Weblinks[Bearbeiten]