Neue POSIX 1003.1-2024 Version vereinheitlicht UNIX-ähnliche Betriebssysteme und erweitert Shell-Verarbeitung
Die IEEE-Computer Society und das Open Group Consortium haben nach sieben Jahren Entwicklung eine neue Version des Standards POSIX 1003.1-2024 verabschiedet. Dieser Standard soll sicherstellen, dass UNIX-ähnliche Betriebssysteme problemlos portabel sind.
Der POSIX-Standard (Portable Operating System Interface) definiert Schnittstellen zwischen Betriebssystemen und Anwendungsprogrammen. Er ist in vier Abschnitte unterteilt. Die Basis-Definitionen beinhalten Konventionen, Definitionen und Konzepte, die im Standard verwendet werden. Die Systemschnittstelle beschreibt C-Systemaufrufe und deren zugehörige Header-Dateien. Im dritten Abschnitt sind die Kommandozeileninterpreter und Hilfsprogramme definiert, also die Funktionen der Shell und die Dienstprogramme. Der abschließende Abschnitt enthält Erläuterungen zum Standard.
Während der Zeit, in der verschiedene kommerzielle Unix-Varianten inkompatibel zueinander waren, spielte die POSIX-Konformität eine entscheidende Rolle bei der Auswahl eines Betriebssystems für spezifische Softwareanforderungen. Aufgrund der weitgehenden POSIX-Kompatibilität der aktuellen Linux- und BSD-Varianten wurden viele bereits implementierte Ergänzungen in den nun veröffentlichten Standard übernommen und vereinheitlicht.
Die Gremien haben den Bereich der Shell-Verarbeitung erweitert, indem sie die Tools `codereadlink` zur Anzeige des Inhalts von symbolischen Links und `coderealpath` zur Auflösung des Dateipfads hinzugefügt haben. Zusätzlich sind für das Tool `codefind` auch neue Optionen verfügbar. Mit der Option `code-print0` kann der Dateipfad mit einem abschließenden Null-Byte ausgegeben werden und mit der Option `-codeiname` kann eine case-insensitive Suche durchgeführt werden. Die Option `code-0` wurde bei `codexargs` hinzugefügt, um die Begrenzung der Argumente durch Null-Bytes zu ermöglichen.
Im Fall von `coderead` kann der Begrenzer mit `code-d` definiert werden, `codesed` verwendet erweiterte reguläre Ausdrücke mit `code-E` und `codeset` kennt die Option `code-o pipefail`. Für C-Programme wurde die Konstante `codeSIGWINCH` hinzugefügt und es gibt Tools zum Erstellen von Shared Objects. Auch einige neue Funktionen wurden hinzugefügt, darunter `codetcgetwinsize` zur Bestimmung der Größe des Terminal-Fensters, `codegettext` zur Organisation mehrsprachiger Schnittstellen, `codeasprintf` zur Formatierung einer Zeichenkette und Zuweisung eines Puffers unter Berücksichtigung der Ausgabegröße, `codestrlcpy` und `codestrlcat` als Schutz vor Pufferüberläufen am Ende mit einem Null-Byte.
Die Definition für `codemake` enthält jetzt verschachtelte Makros und ermöglicht die Angabe mehrerer Dateien in der `codeinclude`-Direktive. Es gibt auch neue Ziele wie `code.NOTPARALLEL`, `.PHONY` und `code.WAIT`. Das Makro `codeCURDIR` zeigt auf das aktuelle Verzeichnis und es gibt neue Zuweisungsoperatoren für Makros und Variablen wie `::`, `:::`, `:`, `?` und `!`.
Derzeit ist der Text des Standards als PDF auf der IEEE-Website nur für zahlende Kunden, Bildungseinrichtungen und registrierte Benutzer mit einem Konto verfügbar. In absehbarer Zukunft wird der Text des Standards auf der Website der Open Group veröffentlicht werden. Bisher ist nur die vorherige Version von POSIX 1003.1-2017 öffentlich verfügbar.
Schlagwörter: POSIX 1003.1-2024 + o + Shared Objects
Wie bewerten Sie den Schreibstil des Artikels?
