standards(7)

NAZWA
standards - standardy C i Uniksa

OPIS
Rozdział STANDARDY, który występuje w wielu podręcznikach systemowych, identyfikuje różne standardy, z którymi są zgodne dokumentowane interfejsy. Poniższa lista zwięźle je opisuje.

V7  Wersja 7 (znana również jako Seventh Edition) Uniksa, wydana przez AT&T/Bell Labs w 1979 roku. Po tym wydaniu systemy UNIX rozdzieliły się na dwa główne dialekty: BSD i System V.

4.2BSD
    Standard implementacji zdefiniowany w wydaniu 4.2 Berkeley Software Distribution, wydany na Uniwersytecie Kalifornijskim Berkeley. Było to pierwsze wydanie Berkeley zawierające stos TCP/IP oraz interfejs programistyczny gniazd. 4.2BSD wydano w roku 1983.

    Wcześniejsze główne wydania BSD obejmowały 3BSD (1980), 4BSD (1980) i 4.1BSD (1981).

4.3BSD
    Następca 4.2BSD, wydany w roku 1986.

4.4BSD
    Następca 4.3BSD, wydany w roku 1993. Było to ostatnie główne wydanie Berkeley.

System V
    Standard implementacji zdefiniowany w wydaniu komercyjnego Systemu V (piątego) firmy AT&T z roku 1983. Poprzednim głównym wydaniem AT&T był System III z roku 1981.

System V release 2 (SVr2)
    Kolejne wydanie Systemu V z 1985 roku. SVr2 opisano formalnie w System V Interface Definition w wersji 1 (SVID 1) opublikowanym w 1985.

System V release 3 (SVr3)
    Następca SVr2, wydany w roku 1986. Wydanie opisano formalnie w System V Interface Definition w wersji 2 (SVID 2).

System V release 4 (SVr4)
    Następca SVr3, wydany w roku 1989. Tę wersję Systemu V opisano w „Programmer's Reference Manual: Operating System API (Intel processors)” (Prentice-Hall 1992, ISBN 0-13-951294-2). Wydanie opisano formalnie w System V Interface Definition w wersji 3 (SVID 3) i jest uważane za kompletne, końcowe wydanie Systemu V.

SVID 4
    System V Interface Definition w wersji 4, wydane w roku 1995. Dostępne pod adresem http://www.sco.com/developers/devspecs/.

C89 Pierwszy standard języka C, przyjęty przez ANSI (American National Standards Institute) w roku 1989 (X3.159-1989). Czasami określany jako ANSI C, ale ponieważ C99 również jest standardem ANSI, to pojęcie jest niejednoznaczne. Standard przyjęty również przez ISO (ang. International Standards Organization — Międzynarodowa Organizacja Normalizacyjna) w roku 1990 (ISO/IEC 9899:1990), dlatego czasem bywa też nazywany ISO C90.

C99 Wydanie standardu języka C przyjęte przez ISO w roku 1999 (ISO/IEC 9899:1999). Dostępne pod adresem http://www.open-std.org/jtc1/sc22/wg14/www/standards.

C11 Wydanie standardu języka C przyjęte przez ISO w roku 2011 (ISO/IEC 9899:2011).

LFS Norma Large File Summit ukończona w roku 1996. Definiuje mechanizmy pozwalające na obsługę dużych plików (tj. 64-bitowych przesunięć plików) przez systemy 32-bitowe. Zob. https://www.opengroup.org/platform/lfs.html.

POSIX.1-1988
    Pierwszy standard POSIX, przyjęty przez IEEE jako IEEE Std 1003.1-1988, a następnie przyjęty (z niewielkimi zmianami) jako standard ISO w roku 1990. Termin „POSIX” ukuł Richard Stallman.

POSIX.1-1990
    „Portable Operating System Interface for Computing Environments”. IEEE 1003.1-1990 część 1, przyjęty przez ISO w roku 1990 (ISO/IEC 9945-1:1990).

POSIX.2
    IEEE Std 1003.2-1992, opisujący polecenia i narzędzia, przyjęty przez ISO w roku 1993 (ISO/IEC 9945-2:1993).

POSIX.1b (uprzednio znany jako POSIX.4)
    IEEE Std 1003.1b-1993, opisujący funkcje czasu rzeczywistego przenośnych systemów operacyjnych, przyjęty przy ISO w roku 1996 (ISO/IEC 9945-1:1996).

POSIX.1c (uprzednio znany jako POSIX.4a)
    IEEE Std 1003.1c-1995, opisujący interfejsy wątków POSIX.

POSIX.1d
    IEEE Std 1003.1d-1999, opisujący dodatkowe rozszerzenia czasu rzeczywistego.

POSIX.1g
    IEEE Std 1003.1g-2000, opisujący sieciowy interfejs programistyczny (w tym gniazda).

POSIX.1j
    IEEE Std 1003.1j-2000, opisujący zaawansowane rozszerzenia czasu rzeczywistego.

POSIX.1-1996
    Poprawka 1996 POSIX.1, obejmująca POSIX.1b i POSIX.1c.

XPG3
    Wydane w roku 1989, było to pierwsze wydanie X/Open Portability Guide oparte na standardzie POSIX (POSIX.1-1988). Wielotomowy przewodnik opracowany przez X/Open Group, konsorcjum wielu dostawców.

XPG4
    Poprawka X/Open Portability Guide, wydana w roku 1992. Włączyła POSIX.2.

XPG4v2
    Poprawka z roku 1994 XPG4. Określana również jako Spec 1170, ponieważ standard definiował 1170 interfejsów.

SUS (SUSv1)
    Single UNIX Specification. Zestawienie standardów XPG4v2 i innych X/Open (X/Open Curses Issue 4 wersja 2, X/Open Networking Service (XNS) Issue 4). Systemy zgodne z tym standardem mogą posługiwać się mianem UNIX 95.

SUSv2
    Single UNIX Specification w wersji 2. Czasami określane (nieprawidłowo) jako XPG5. Standard pojawił się w roku 1997. Systemy zgodne z tym standardem mogą posługiwać się mianem UNIX 98. Zob. też http://www.unix.org/version2/.)

POSIX.1-2001
SUSv3
    Poprawka z roku 2001 i połączenie w jeden dokument standardów POSIX.1, POSIX.2 i SUS przeprowadzone pod nadzorem Austin Group http://www.opengroup.org/austin/. Standard dostępny pod adresem http://www.unix.org/version3/.

    Standard określa dwa poziomy zgodności: Zgodność z POSIX, którą stanowi podstawowy zestaw interfejsów wymaganych od zgodnego systemu oraz Zgodność z XSI, która dodatkowo wymaga obecności zestawu interfejsów („rozszerzenia XSI”), będących opcjonalnymi przy zgodności z POSIX. Systemy zgodne z XSI mogą posługiwać się mianem UNIX 03.

    Dokument POSIX.1-2001 jest podzielony na cztery części:

    XBD: Definicje, słownik i określenie konceptów oraz plików nagłówkowych.

    XSH: Określenie funkcji (tj. wywołań systemowych i funkcji bibliotecznych w faktycznych implementacjach).

    XCU: Określenie poleceń i narzędzi (tj. obszar uprzednio opisany przez POSIX.2).

    XRAT: Szerszy opis innych części standardu.

    POSIX.1-2001 jest zgodny z C99, co oznacza, że wszystkie funkcje biblioteczne zestandardyzowane w C99, są również częścią standardu POSIX.1-2001.

    Single UNIX Specification w wersji 3 (SUSv3) składa się z Base Specifications zawierających opisane wyżej XBD, XSH, XCU i XRAT oraz — jako dodatkowy tom nieobecny w POSIX.1-2001 — X/Open Curses Issue 4 wersja 2.

    Wydano dwa Technical Corrigenda (z pomniejszymi poprawkami i usprawnieniami) oryginalnego standardu 2001: TC1 w roku 2003 oraz TC2 w roku 2004.

POSIX.1-2008
SUSv4
    Prace nad kolejnym wydaniem POSIX.1/SUS ukończono i przyjęto w roku 2008. Standard jest dostępny pod adresem http://www.unix.org/version4/.

    Zmiany w tej rewizji nie są tak rozległe jak te, które występowały w POSIX.1-2001/SUSv3, lecz dodano pewną liczbę nowych interfejsów oraz zmodyfikowano różne detale istniejących specyfikacji. Wiele z interfejsów, które były opcjonalne w POSIX.1-2001, stały się obowiązkowe w rewizji 2008 standardu. Kilka interfejsów obecnych w POSIX.1-2001 oznaczono jako przestarzałe w POSIX.1-2008 lub zupełnie usunięto ze standardu.

    Poprawiony standard ma taką samą strukturę jak poprzednik. Single UNIX Specification w wersji 4 (SUSv4) składa się z Base Specifications zawierającej XBD, XSH, XCU i XRAT oraz z X/Open Curses Issue 7 jako dodatkowy tom nieobecny w POSIX.1-2008.

    Ponownie występują dwa poziomy zgodności: Zgodność z POSIX oraz Zgodność z XSI określającą dodatkowy zestaw interfejsów oprócz obecnych w podstawowej normie.

    Gdy rozdział STANDARDY podręcznika systemowego wspomina POSIX.1-2001, można zwykle przyjąć, że interfejs jest zgodny również z POSIX.1-2008, chyba że określono inaczej.

    Technical Corrigendum 1 (pomniejsze poprawki i usprawnienia) standardu wydano w roku 2013.

    Technical Corrigendum 2 standardu wydano w roku 2016.

    Więcej informacji można znaleźć na stronie internetowej Austin Group: http://www.opengroup.org/austin/.

SUSv4 2016 edition
    Odpowiednik POSIX.1-2008, z dołączonymi Technical Corrigenda 1 i 2 oraz normą XCurses.

POSIX.1-2017
    Rewizja POSIX technicznie identyczna z POSIX.1-2008 z naniesionymi Technical Corrigenda 1 i 2.

SUSv4 2018 edition
    Odpowiednik POSIX.1-2017, z dołączeniem normy XCurses.

Interfejsy udokumentowane w POSIX.1/SUS są dostępne jako podręczniki systemowe w sekcjach 0p (pliki nagłówkowe), 1p (polecenia) i 3p (funkcje); zatem można je odczytać poleceniem „man 3p open”.

ZOBACZ TAKŻE
getconf(1), confstr(3), pathconf(3), sysconf(3), attributes(7), feature_test_macros(7), libc(7), posixoptions(7), system_data_types(7)

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.