Was sind die Unterschiede zwischen POSIX, der Single UNIX-Spezifikation und den Open Group Base-Spezifikationen ? Ich denke, ihr Zweck ist es, festzustellen, ob ein Betriebssystem Unix ist?
Was sind die Unterschiede zwischen POSIX, der Single UNIX-Spezifikation und den Open Group Base-Spezifikationen ? Ich denke, ihr Zweck ist es, festzustellen, ob ein Betriebssystem Unix ist?
Antworten:
Ein wichtiger "Unterschied" ist die Optionsgruppe XSI (XOPEN), die eine Reihe traditioneller Unix-Schnittstellen angibt, die auf einem neuen Betriebssystem, das kein "Unix" ist, wahrscheinlich nicht anwendbar sind. Häufig wird "SUS" verwendet, um auf den vollständigen Standard einschließlich der XSI-Option zu verweisen, und "POSIX", um auf den Basisstandard und möglicherweise auf die nicht auf Unix ausgerichteten Optionsgruppen zu verweisen.
Aufeinanderfolgende Versionen von SUS scheinen Teile der XSI-Option allmählich zu verwerfen, die für das Schreiben von tragbaren Anwendungen nicht wirklich nützlich waren und stattdessen nur ältere Implementierungen widerspiegelten, und einige der nützlicheren Teile auf den Basisstandard zu verschieben.
unistd.h
heißt es: "Der Header <unistd.h> darf die folgende symbolische Konstante nur definieren, wenn die Implementierung die XSI-Option unterstützt. Siehe XSI-Konformität. Wenn definiert, muss der Wert für die Verwendung in #if-Vorverarbeitungsdirektiven geeignet sein. _XOPEN_VERSION "
Heute sind POSIX und SUS im Grunde dasselbe. SUS umfasst etwas mehr .
Zitiert hier :
Ab 1998 begann eine gemeinsame Arbeitsgruppe namens Austin Group mit der Entwicklung des kombinierten Standards, der als Single UNIX Specification Version 3 und als POSIX: 2001 (offiziell: IEEE Std 1003.1-2001) bezeichnet werden sollte. Es wurde am 30. Januar 2002 veröffentlicht
und
Im Dezember 2008 veröffentlichte die Austin Group eine neue wichtige Revision mit dem Namen POSIX: 2008 (offiziell: IEEE Std 1003.1-2008). Dies ist der Kern der Single UNIX-Spezifikation, Version 4
Wenn Sie oben in den Open Group Base-Spezifikationen nachsehen , sehen Sie die Standardkennung IEEE Std 1003.1-2008. IEEE Std 1003.1 ist das, was als POSIX.1 bezeichnet wird, wobei 2008 die neueste Inkarnation ist. Wenn Sie sich POSIX auf Wikipedia ansehen, werden Sie feststellen, dass der Standard drei Teile enthält, darunter:
Grundsätzlich ist POSIX nur der Name des Standards, der vom IEEE mit der anfänglichen Version von 1988 entwickelt wurde. POSIX ist offiziell nicht UNIX ™, nur weil IEEE nicht das Warenzeichen besitzt, sondern die Betriebssystemumgebung und die Schnittstelle, die unter UNIX ™ zu finden sind systeme. Später befasste sich die Open Group, die die Marke UNIX ™ kontrolliert, mit der Erstellung eines auf POSIX basierenden Standards namens Single UNIX Specification Version 2 oder SUSv2. Jetzt werden diese beiden Spezifikationen gemeinsam als The Austin Group entwickelt. Die neueste Version ist SUSv4. Also, um zusammenzufassen:
POSIX: 2008 = IEEE Std. 1003.1-2008 = SUSv4 = Das offene Gruppenspezifikationsproblem 7.
Lesen Sie auch meine Antwort auf Was genau ist POSIX?