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.

In Pocket speichern vorlesen Druckansicht 115 Kommentare lesen
US-Autokennzeichen mit dem Schriftzug "UNIX"

(Bild: "Actual DEC UNIX License Plate DSC 0317" by Armandops - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons.)

Lesezeit: 3 Min.
Von
  • André von Raison

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 und strlcat (analog strncpy und strncat, 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)