standards(7) Miscellaneous Information Manual standards(7)

standards - standardy C i Uniksa

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.

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.
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.
Kolejne wydanie Systemu V z 1985 roku. SVr2 opisano formalnie w System V Interface Definition w wersji 1 (SVID 1) opublikowanym w 1985.
Następca SVr2, wydany w roku 1986. Wydanie opisano formalnie w System V Interface Definition w wersji 2 (SVID 2).
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.
System V Interface Definition w wersji 4, wydane w roku 1995. Dostępne pod adresem http://www.sco.com/developers/devspecs/.
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.
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.
Wydanie standardu języka C przyjęte przez ISO w roku 2011 (ISO/IEC 9899:2011).
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.
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.
„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).
IEEE Std 1003.2-1992, opisujący polecenia i narzędzia, przyjęty przez ISO w roku 1993 (ISO/IEC 9945-2:1993).
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).
IEEE Std 1003.1c-1995, opisujący interfejsy wątków POSIX.
IEEE Std 1003.1d-1999, opisujący dodatkowe rozszerzenia czasu rzeczywistego.
IEEE Std 1003.1g-2000, opisujący sieciowy interfejs programistyczny (w tym gniazda).
IEEE Std 1003.1j-2000, opisujący zaawansowane rozszerzenia czasu rzeczywistego.
Poprawka 1996 POSIX.1, obejmująca POSIX.1b i POSIX.1c.
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.
Poprawka X/Open Portability Guide, wydana w roku 1992. Włączyła POSIX.2.
Poprawka z roku 1994 XPG4. Określana również jako Spec 1170, ponieważ standard definiował 1170 interfejsów.
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.
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/.)
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.
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/.
Odpowiednik POSIX.1-2008, z dołączonymi Technical Corrigenda 1 i 2 oraz normą XCurses.
Rewizja POSIX technicznie identyczna z POSIX.1-2008 z naniesionymi Technical Corrigenda 1 i 2.
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”.

getconf(1), confstr(3), pathconf(3), sysconf(3), attributes(7), feature_test_macros(7), libc(7), posixoptions(7), system_data_types(7)

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 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.

2 maja 2024 r. Linux man-pages 6.8