Update des POSIX-Standards 1003.1-2024 mit neuen Tools und Funktionen
IEEE und The Open Group haben die POSIX-Version 1003.1-2024 freigegeben. Der UNIX-Standard umfasst viele Erweiterungen, neue Funktionen, Optionen und Tools.
Nach siebenjähriger Entwicklungszeit haben die IEEE-Computer Society und das Open Group Consortium eine neue Version des Standards POSIX 1003.1-2024 verabschiedet, der die Portabilität zwischen UNIX-ähnlichen Betriebssystemen gewährleisten soll. Der POSIX-Standard (Portable Operating System Interface) definiert Software-Schnittstellen zwischen Betriebssystemen und Anwendungsprogrammen.
POSIX gliedert sich in vier Teile. Die Basis-Definitionen sind eine Liste der im Standard benutzten Konventionen, Definitionen und Konzepte. Die Systemschnittstelle beschreibt die C-Systemaufrufe mit den zugehörigen Header-Dateien. Im dritten Teil findet sich eine Festlegung der Kommandozeileninterpreter und Hilfsprogramme, also Shell-Funktionen und Dienstprogramme. Letztlich liefert ein Teil Erläuterungen über den Standard. In den Hochzeiten der zueinander inkompatiblen kommerziellen Unix-Varianten war POSIX-Konformität ein wichtiges Kriterium bei der Wahl eines Betriebssystems zu einer gewünschten Software. Da die aktuellen Linux- und BSD-Varianten weitgehend POSIX-kompatibel sind, zieht der jetzt veröffentlichte Standard viele der bei diesen bereits umgesetzten Ergänzungen nach und vereinheitlicht sie.
Den Bereich der Shell-Verarbeitung erweiterten die Gremien um die beiden Tools readlink
zum Anzeigen des Inhalts von symbolischen Links und realpath
zum Auflösen des Pfadnamens einer Datei. Ebenfalls neu dabei sind für das Tool find
die Optionen -print0
zur Ausgabe des Pfadnamens mit einem abschlieĂźenden Null-Byte und -iname
fĂĽr die Case-insensitive Suche. Bei xargs
ist die Begrenzung der Argumente durch Null-Bytes ĂĽber die Option -0
jetzt ebenfalls dabei. Bei read
lässt sich per -d
der Begrenzer definieren, sed
nutzt per -E
erweiterte reguläre Ausdrücke und set
kennt die Option -o pipefail
.
FĂĽr C-Programme gibt es jetzt die Konstante SIGWINCH
und Werkzeuge fĂĽr das Erstellen von Shared Objects. Auch einige neue Funktionen wurden aufgenommen:
tcgetwinsize
(Bestimmung der Größe des Terminal-Fensters)gettext
(Organisation mehrsprachiger Schnittstellen)asprintf
(Formatierung einer Zeichenkette und Zuweisung eines Puffers unter Berücksichtigung der Größe der Ausgabe)strlcpy
undstrlcat
(analogstrncpy
undstrncat
, die als Schutz vor Pufferüberläufen am Ende ein Null-Byte anhängen)
Die Definition fĂĽr make
enthält jetzt verschachtelte Makros, erlaubt in der include
-Direktive die Angabe mehrerer Dateien, kennt unter anderem neue Ziele .NOTPARALLEL, .PHONY
und .WAIT.
Das Makro CURDIR
zeigt auf das aktuelle Verzeichnis und mit "::=", ":::=", "+=", "?="
und "!="
gibt es neue Zuweisungsoperatoren fĂĽr Makros und Variablen.
Den Text des Standards gibt es derzeit als PDF auf der IEEE-Website nur für zahlende Kunden, Bildungseinrichtungen und registrierte Benutzer mit einem Konto. Der Text des Standards soll "in naher Zukunft" auf der Website der Open Group veröffentlicht werden. Hier ist bisher lediglich die vorherige Ausgabe von POSIX 1003.1-2017 öffentlich zugänglich.
(avr)