{"id":8702,"date":"2024-06-15T12:18:53","date_gmt":"2024-06-15T12:18:53","guid":{"rendered":"https:\/\/byte-bucket.com\/2024\/06\/15\/neue-posix-1003-1-2024-version-vereinheitlicht-unix-aehnliche-betriebssysteme-und-erweitert-shell-verarbeitung\/"},"modified":"2024-06-15T12:18:53","modified_gmt":"2024-06-15T12:18:53","slug":"neue-posix-1003-1-2024-version-vereinheitlicht-unix-aehnliche-betriebssysteme-und-erweitert-shell-verarbeitung","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=8702","title":{"rendered":"Neue POSIX 1003.1-2024 Version vereinheitlicht UNIX-\u00e4hnliche Betriebssysteme und erweitert Shell-Verarbeitung"},"content":{"rendered":"<p>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-\u00e4hnliche Betriebssysteme problemlos portabel sind.<\/p>\n<p>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\u00f6rige Header-Dateien. Im dritten Abschnitt sind die Kommandozeileninterpreter und Hilfsprogramme definiert, also die Funktionen der Shell und die Dienstprogramme. Der abschlie\u00dfende Abschnitt enth\u00e4lt Erl\u00e4uterungen zum Standard.<\/p>\n<p>W\u00e4hrend der Zeit, in der verschiedene kommerzielle Unix-Varianten inkompatibel zueinander waren, spielte die POSIX-Konformit\u00e4t eine entscheidende Rolle bei der Auswahl eines Betriebssystems f\u00fcr spezifische Softwareanforderungen. Aufgrund der weitgehenden POSIX-Kompatibilit\u00e4t der aktuellen Linux- und BSD-Varianten wurden viele bereits implementierte Erg\u00e4nzungen in den nun ver\u00f6ffentlichten Standard \u00fcbernommen und vereinheitlicht.<\/p>\n<p>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\u00f6sung des Dateipfads hinzugef\u00fcgt haben. Zus\u00e4tzlich sind f\u00fcr das Tool `codefind` auch neue Optionen verf\u00fcgbar. Mit der Option `code-print0` kann der Dateipfad mit einem abschlie\u00dfenden Null-Byte ausgegeben werden und mit der Option `-codeiname` kann eine case-insensitive Suche durchgef\u00fchrt werden. Die Option `code-0` wurde bei `codexargs` hinzugef\u00fcgt, um die Begrenzung der Argumente durch Null-Bytes zu erm\u00f6glichen.<\/p>\n<p>Im Fall von `coderead` kann der Begrenzer mit `code-d` definiert werden, `codesed` verwendet erweiterte regul\u00e4re Ausdr\u00fccke mit `code-E` und `codeset` kennt die Option `code-o pipefail`. F\u00fcr C-Programme wurde die Konstante `codeSIGWINCH` hinzugef\u00fcgt und es gibt Tools zum Erstellen von Shared Objects. Auch einige neue Funktionen wurden hinzugef\u00fcgt, darunter `codetcgetwinsize` zur Bestimmung der Gr\u00f6\u00dfe des Terminal-Fensters, `codegettext` zur Organisation mehrsprachiger Schnittstellen, `codeasprintf` zur Formatierung einer Zeichenkette und Zuweisung eines Puffers unter Ber\u00fccksichtigung der Ausgabegr\u00f6\u00dfe, `codestrlcpy` und `codestrlcat` als Schutz vor Puffer\u00fcberl\u00e4ufen am Ende mit einem Null-Byte.<\/p>\n<p>Die Definition f\u00fcr `codemake` enth\u00e4lt jetzt verschachtelte Makros und erm\u00f6glicht 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\u00fcr Makros und Variablen wie `::`, `:::`, `:`, `?` und `!`.<\/p>\n<p>Derzeit ist der Text des Standards als PDF auf der IEEE-Website nur f\u00fcr zahlende Kunden, Bildungseinrichtungen und registrierte Benutzer mit einem Konto verf\u00fcgbar. In absehbarer Zukunft wird der Text des Standards auf der Website der Open Group ver\u00f6ffentlicht werden. Bisher ist nur die vorherige Version von POSIX 1003.1-2017 \u00f6ffentlich verf\u00fcgbar.<\/p>\n<p>Schlagw\u00f6rter: POSIX 1003.1-2024 + o + Shared Objects<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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-\u00e4hnliche Betriebssysteme problemlos portabel sind. Der POSIX-Standard (Portable Operating System Interface) definiert Schnittstellen zwischen Betriebssystemen und Anwendungsprogrammen. Er ist in vier Abschnitte unterteilt. Die&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":8701,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/8702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8702"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/8702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/8701"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}