Einzel-UNIX-Spezifikation - Single UNIX Specification

Die Single UNIX Specification ( SUS ) ist die Sammelbezeichnung für eine Familie von Standards für Computer - Betriebssysteme , deren Einhaltung notwendig ist für die Verwendung der „zu qualifizieren UNIX “ Marke. Die Kernspezifikationen des SUS werden von der Austin Group entwickelt und gepflegt , einer gemeinsamen Arbeitsgruppe von IEEE , ISO JTC 1 SC22 und The Open Group . Wenn ein Betriebssystem zur Zertifizierung bei The Open Group eingereicht wird und Konformitätstests besteht, gilt es als konform mit einem UNIX-Standard wie UNIX 98 oder UNIX 03.

Nur sehr wenige BSD- und Linux- basierte Betriebssysteme werden zur Einhaltung der Single UNIX Specification eingereicht, obwohl Systementwickler im Allgemeinen die Einhaltung der POSIX- Standards anstreben , die den Kern der Single UNIX Specification bilden.

Geschichte

1980er: Motivation

Der SUS entstand aus einer Mitte der 1980er Jahre Projekt zur Standardisierung Betriebssystem - Schnittstellen für Software für Varianten des Unix - Betriebssystem entwickelt. Die Notwendigkeit zur Standardisierung entstand, weil Unternehmen, die Computer verwenden, Programme entwickeln wollten, die auf den Computersystemen verschiedener Hersteller verwendet werden können, ohne die Programme neu zu implementieren. Unix wurde als Basis für eine einheitliche Systemschnittstelle ausgewählt, auch weil es herstellerneutral war.

1988: POSIX

1988 wurden diese Standards zu IEEE 1003 (auch als ISO / IEC 9945 registriert ) oder POSIX , was lose für Portable Operating System Interface steht .

1990er: Spezifikation 1170

In den frühen 1990er Jahren wurde von mehreren großen Anbietern, die nach den Unix-Kriegen die COSE- Allianz gründeten , eine separate Anstrengung namens Common API Specification oder Spec 1170 initiiert . Diese Spezifikation wurde immer beliebter, weil sie kostenlos zur Verfügung stand, während das IEEE eine erhebliche Gebühr für den Zugriff auf die POSIX-Spezifikation verlangte. Management über diese Vorgaben wurde zugewiesen X / Open , die auch die empfangene Unix Warenzeichen von Novell im Jahr 1993 Unix Internationale (UI) verschmolzen zu Open Software Foundation (OSF) im Jahr 1994 nur zu fusionieren mit X / Open bilden The Open Group in 1996 .

1994: Einzel-UNIX-Spezifikation

Dies war eine Neuverpackung des X/Open Portability Guide (XPG), Ausgabe 4, Version 2.

Ausgabe 1995

1995 veröffentlichte die Open Group die Single UNIX Specification Version 1, 1995 Edition .

Diese Spezifikation bestand aus:

  • Systemschnittstellendefinitionen, Ausgabe 4, Version 2,
  • Systemschnittstellen und Header, Ausgabe 4, Version 2,
  • Befehle und Dienstprogramme, Ausgabe 4, Version 2,
  • X/Open Curses, Ausgabe 4 Version 2,
  • Netzwerkdienste, Ausgabe 4,

und war der Kern der Marke UNIX 95.

1997: Single UNIX Specification Version 2

1997 veröffentlichte die Open Group die Single UNIX Specification Version 2 .

Diese Spezifikation bestand aus:

  • die Basisdefinitionen, Ausgabe 5,
  • die Systemschnittstellen und Header, Ausgabe 5,
  • die Befehle und Dienstprogramme, Ausgabe 5,
  • die Netzwerkdienste, Ausgabe 5,
  • the X/Open Curses, Ausgabe 4, Version 2,

und war der Kern der Marke UNIX 98.

2001: Single UNIX Specification Version 3, POSIX:2001

Ab 1998 begann eine gemeinsame Arbeitsgruppe, die als Austin Group bekannt ist, mit der Entwicklung des kombinierten Standards, der als Single UNIX Specification Version 3 und als POSIX:2001 (vormals: IEEE Std 1003.1-2001) bekannt sein sollte. Es wurde am 30.01.2002 veröffentlicht.

Diese Norm bestand aus:

  • die Basisdefinitionen, Ausgabe 6,
  • die Systemschnittstellen und Header, Ausgabe 6,
  • die Befehle und Dienstprogramme, Ausgabe 6,

und bildet den Kern der Marke UNIX 03.

2004: POSIX:2004

Im Jahr 2004 wurde eine neue Ausgabe des Standards POSIX:2001 veröffentlicht, die zwei technische Berichtigungen enthält. Es heißt POSIX:2004 (ehemals: IEEE Std 1003.1-2004).

2008: Single UNIX Specification Version 4, POSIX:2008

Im Dezember 2008 veröffentlichte die Austin Group eine neue Hauptrevision, bekannt als POSIX:2008 (vormals: IEEE Std 1003.1-2008). Dies ist der Kern der Single UNIX Specification, Version 4 (SUSv4).

Diese Norm besteht aus:

  • die Basisdefinitionen, Ausgabe 7,
  • die Systemschnittstellen und Header, Ausgabe 7,
  • die Befehle und Dienstprogramme, Ausgabe 7.

Ausgabe 2013

Das Technical Corrigendum 1 zielt hauptsächlich auf die Internationalisierung ab und führt ein rollenbasiertes Zugangsmodell ein. Es wurde 2012 für die Unix Base-Spezifikation veröffentlicht und ist als 2013 Edition von POSIX 2008 registriert. Eine Marke UNIX V7 (nicht zu verwechseln mit V7 UNIX , der Version von Research Unix von 1979) wurde erstellt, um die Einhaltung von SUS-Version 4.

Ausgabe 2016

Das Technical Corrigendum 2 wurde im September 2016 veröffentlicht und führt zu IEEE Std 1003.1-2008, 2016 Edition und Single UNIX Specification, Version 4, 2016 Edition .

Ausgabe 2018

Im Januar 2018 wurde eine "administrative Rollup"-Edition, susv4-2018, veröffentlicht. Es enthält die Single UNIX Specification Version 4 TC1 und TC2 und ist technisch identisch mit der 2016 Edition.

Spezifikation

SUSv3 umfasst insgesamt etwa 3700 Seiten, die in vier Hauptteile unterteilt sind:

  • Basisdefinitionen (XBD) - eine Liste von Definitionen und Konventionen, die in den Spezifikationen verwendet werden, und eine Liste von C- Header-Dateien, die von kompatiblen Systemen bereitgestellt werden müssen. Es werden insgesamt 84 Header-Dateien bereitgestellt.
  • Shell and Utilities (XCU) - eine Liste von Dienstprogrammen und eine Beschreibung der Shell, sh . Insgesamt sind 160 Versorgungsunternehmen angegeben.
  • System Interfaces (XSH) - enthält die Spezifikation verschiedener Funktionen, die als Systemaufrufe oder Bibliotheksfunktionen implementiert sind . Insgesamt sind 1123 Systemschnittstellen angegeben.
  • Begründung (XRAT) - die Erklärung hinter dem Standard.

Die Standard-Befehlszeilen- und Skriptschnittstelle für Benutzer ist die POSIX- Shell, eine Erweiterung der Bourne-Shell, die auf einer frühen Version der Korn-Shell basiert . Andere Programme, Dienste und Dienstprogramme auf Benutzerebene umfassen awk , echo , ed , vi und Hunderte anderer. Zu den erforderlichen Diensten auf Programmebene gehören grundlegende E/A -Dienste ( Datei , Terminal und Netzwerk ). Eine Testsuite begleitet den Standard. Es heißt PCTS oder POSIX Certification Test Suite .

Darüber hinaus enthält SUS die CURSES (XCURSES)-Spezifikation, die 372 Funktionen und 3 Header-Dateien spezifiziert. Insgesamt spezifiziert SUSv3 1742 Schnittstellen.

Beachten Sie, dass ein System keinen Quellcode enthalten muss, der in irgendeiner Weise von AT&T Unix abgeleitet wurde, um die Spezifikation zu erfüllen. Zum Beispiel qualifiziert sich IBM OS/390 , jetzt z/OS , als "Unix", obwohl es keinen gemeinsamen Code hat.

Markierungen für konforme Systeme

Es gibt fünf offizielle Prüfzeichen für konforme Systeme:

  • UNIX 93
  • UNIX 95 - das Zeichen für Systeme, die der Version 1 des SUS entsprechen
  • UNIX 98 - das Zeichen für Systeme, die der Version 2 des SUS entsprechen
  • UNIX 03 - das Zeichen für Systeme, die der Version 3 des SUS entsprechen
  • UNIX V7 - das Zeichen für Systeme, die der Version 4 des SUS (einschließlich Corrigenda) entsprechen

Einhaltung

Produkt Verkäufer Die Architektur UNIX V7 UNIX 03 UNIX 98 UNIX 95 UNIX 93
AIX IBM Corporation POWER-Prozessoren Jawohl Jawohl Nein Nein Nein
FTX Cemprus LLC PA-RISC Nein Nein Nein Nein Jawohl
EulerOS Huawei x86-64 Nein Jawohl Nein Nein Nein
HP-UX Hewlett Packard Enterprise IA-64 , PA-RISC Nein Jawohl Nein Jawohl Nein
macOS (ehemals OS X) Apfel x86-64 , ARM64 Nein Jawohl Nein Nein Nein
OpenServer Xinuos IA-32 Nein Nein Nein Nein Jawohl
UnixWare Xinuos IA-32 Nein Nein Nein Jawohl Nein
z/OS IBM Corporation z/Architektur Nein Nein Nein Jawohl Nein

Derzeit registrierte UNIX-Systeme

AIX

AIX Version 7, entweder 7.1 TL5 (oder höher) oder 7.2 TL2 (oder höher) sind als UNIX 03-kompatibel registriert. AIX Version 7 mit 7.2 TL5 (oder höher) ist als UNIX V7-kompatibel registriert.

FTX

Die DNCP-Serie, auf der FTX Release 3 ausgeführt wird, ist als UNIX 93-kompatibel registriert.

EulerOS

EulerOS 2.0 für die x86-64- Architektur ist als UNIX 03-kompatibel registriert. Die Konformitätserklärung von UNIX 03 zeigt, dass der Standard-C-Compiler aus der GNU Compiler Collection ( gcc ) stammt und dass das System eine Linux-Distribution der Red Hat- Familie ist.

HP-UX

HP-UX 11i V3 Release B.11.31 ist als UNIX 03-kompatibel registriert. Frühere Versionen sind als UNIX 95 registriert.

Die Funktionen von HP-UX 11i bieten auch eine teilweise Konformität mit der UNIX 98-Spezifikation.

Mac OS

Apple macOS (früher bekannt als Mac OS X oder OS X) ist als UNIX 03-kompatibel registriert. Die erste registrierte Version war Mac OS X 10.5 Leopard , zertifiziert am 26. Oktober 2007 (auf x86-Systemen). Alle neueren Versionen von macOS bis hin zu macOS 11 Big Sur wurden registriert, wobei macOS 11 sowohl auf x86-64- als auch auf ARM64-Systemen registriert ist.

Xinuos

UnixWare 7.1.3 und höher ist als UNIX 95-kompatibel registriert. SCO OpenServer 5 und 6 sind als UNIX 93-kompatibel registriert.

z/OS

IBM z/OS 1.2 und höher ist als UNIX 95-kompatibel registriert. z/OS 1.9, veröffentlicht am 28. September 2007, und nachfolgende Versionen "bessere Anpassung" an UNIX 03.

Zuvor registrierte UNIX-Systeme

Solaris

Solaris 11.4 war zuvor 2018 als UNIX v7-kompatibel registriert. Solaris 11 und Solaris 10 wurden als UNIX 03-kompatibel auf 32-Bit- und 64-Bit- x86- ( X86-64 ) und SPARC- Systemen registriert . Solaris 8 und 9 wurden als UNIX 98-kompatibel auf 32-Bit- x86- und SPARC- Systemen registriert ; 64-Bit-x86-Systeme wurden nicht unterstützt.

Solaris 2.5.1 wurde 1996 auch auf der PReP PowerPC- Plattform als UNIX 95-kompatibel registriert , aber das Produkt wurde zurückgezogen, bevor mehr als ein paar Dutzend Exemplare verkauft worden waren.

Zuverlässiges UNIX

Die letzten Reliant UNIX- Versionen wurden als UNIX 95-kompatibel (XPG4-Hardbranding) registriert.

Inspur K-UX

Inspur K-UX 2.0 und 3.0 für die x86-64- Architektur wurden als UNIX 03-kompatibel zertifiziert. Die UNIX 03-Konformitätserklärung für Inspur K-UX 2.0 und 3.0 zeigt, dass der Standard-C-Compiler aus der GNU Compiler Collection ( gcc ) stammt und dass das System eine Linux-Distribution der Red Hat- Familie ist.

Tru64-UNIX

Tru64 UNIX V5.1A und höher wurden als UNIX 98-kompatibel registriert.

Sonstiges

Andere Betriebssysteme, die zuvor als UNIX 95- oder UNIX 93-kompatibel registriert wurden:

Nicht registrierte Unix-ähnliche Systeme

Entwickler und Anbieter von Unix-ähnlichen Betriebssystemen wie Linux , FreeBSD und MINIX zertifizieren ihre Distributionen normalerweise nicht und installieren standardmäßig keine vollständigen POSIX-Dienstprogramme. Manchmal kann die SUS-Konformität durch die Installation zusätzlicher Pakete verbessert werden, aber nur sehr wenige Linux-Systeme können vollständig konform konfiguriert werden.

Darwin , die Open-Source-Untergruppe von macOS, verfügt über ein Verhalten, das so eingestellt werden kann, dass es mit UNIX 03 übereinstimmt.

FreeBSD hatte zuvor ein "C99 and POSIX Conformance Project", das darauf abzielte, eine Teilmenge der Single UNIX Specification zu erfüllen und eine Dokumentation, wo es Unterschiede gab.

Das FreeBSD C99 & POSIX Conformance Project zielt darauf ab, alle Anforderungen der Standards ISO 9899:1999 (C99) und IEEE 1003.1-2001 (POSIX) umzusetzen. In Fällen, in denen Aspekte dieser Standards nicht befolgt werden können, werden diese Aspekte in den Handbüchern c99(7) oder posix(7) dokumentiert. Ziel dieses Projektes ist es auch, Regressionstests zu implementieren, um die Korrektheit nach Möglichkeit sicherzustellen.

Für Linux wurde 2001 die Linux Standard Base gegründet, um die internen Strukturen von Linux-basierten Systemen zu standardisieren, um die Kompatibilität zu erhöhen. Es basiert auf den POSIX-Spezifikationen, der Single UNIX Specification und anderen offenen Standards und erweitert diese auch in mehreren Bereichen; Es gibt jedoch einige Konflikte zwischen den LSB- und den POSIX-Standards. Obwohl diese Standards allgemein akzeptiert werden, durchlaufen jedoch nur wenige Linux-Distributionen die Zertifizierung als LSB-kompatibel.

Siehe auch

Verweise

Quellen

Externe Links