POSIX je řada technických norem stanovených od roku 1988 podle IEEE (IEEE) a formálně označován jako IEEE 1003 . Tyto standardy vznikly z navrhovaných standardizovaných programovacích rozhraní pro software navržený pro provoz na variantách operačního systému UNIX .
Termín POSIX navrhl Richard Stallman , který byl ve výboru, který napsal první verzi standardu. IEEE se to rozhodlo ponechat, protože si to snadno pamatovalo. První čtyři písmena znamenají rozhraní přenosného operačního systému a X zkratka pro dědictví UNIX.
POSIX specifikuje uživatelská rozhraní a softwarová rozhraní v sedmnácti různých dokumentech . Standardní příkazový řádek a skriptovací rozhraní, kterým je prostředí Bourne . Mezi další příkazy, služby a nástroje patří awk , echo , ed a stovky dalších. Musí být k dispozici základní služby vstupu / výstupu ( soubory , terminály , síť ); systém musí podporovat některé specifické atributy souborů. POSIX také definuje standardní programovací rozhraní , což je podporováno nejnovějšími operačními systémy.
Standard je doprovázen testovací sadou pro POSIX. Nazývá se PCTS ( POSIX Conformance Test Suite ).
Protože IEEE prodává dokumentaci POSIX za vysokou cenu a neumožňuje její zveřejnění na internetu , někteří se obrátili na standard Single UNIX Specification . Ten je ve skutečnosti otevřený, přijímá návrhy od každého, kdo chce přispět, a je k dispozici zdarma na internetu. Tato práce se datuje počátkem roku 1998 , kdy společná pracovní skupina Austin Group (in) začala vyvíjet standard, který se stal Single UNIX Specification verze 3 .
Přestože je standard POSIX implementován hlavně v systémech podobných systému UNIX, může jej používat jakýkoli jiný operační systém. Například Microsoft Windows NT 3.xa 4 jsou certifikovány jako POSIX.1: 1990 kompatibilní, což je dostačující pro relativně jednoduché POSIX aplikace. Složitější programy však vyžadují širší kompatibilitu. Dodatečný software, jako jsou Služby pro UNIX nebo Cygwin, může poskytnout Windows tuto úroveň kompatibility. UWIN nabízí kompatibilitu s POSIX, včetně cest k souborům.
Konsorcium Linux Standard Base vydává několik rozšíření a de facto standardů pro operační systémy založené na Linuxu . Je nepravděpodobné, že by je převzali jiné systémy podobné systému UNIX, které se řídí jinými staršími standardy, ačkoli v mnoha případech to Linux Standard Base dělá .
Velká část POSIX API byla definována v době, kdy bylo adresování stroje prováděno na maximálně 32 bitech . Aby byla zachována kompatibilita mezi různými systémy, bylo v té době doporučeno nepřekračovat velikost 2 GB pro soubory, a to v případě, že standardní typ „size_t“ definovaný ve standardní knihovně C „stddef.h“ byl definováno jako 31bitové celé číslo bez znaménka (návratová hodnota některých podepsaných funkcí, protože používají POSIX podepsaný typ „ssize_t“ a při chybě vrátí záporné číslo). Ve skutečnosti byl tento symbol používán většinou definic rozhraní pro přístup k souborům v jazyce C (IEEE std 1003.1-1990). V současné době tento limit již není relevantní, protože systémy obvykle používají nepodepsaný typ alespoň 63 bitů pro „size_t“.
V současné době je dokumentace POSIX rozdělena do tří částí:
Standard POSIX zná několik verzí:
Některé systémy POSIX mohou mít omezení, díky nimž mohou uživatelé mít pocit, že jsou vystaveni známým a známým chybám. To platí zejména v případě přestupných sekund nebo ignorování možné přítomnosti indikátoru pořadí bajtů UTF-8 v shebangu .
Proměnná prostředí POSIXLY_CORRECT se používá k označení, zda by měl příkaz vyhovovat POSIX nebo ne. Příkazy pro správu nejsou touto proměnnou ovlivněny.
Několik desítek příkazů přizpůsobuje svůj provoz podle hodnoty POSIXLY_CORRECT; nejtypičtějšími příklady jsou příkazy grep a find , ale je jich mnohem více: apropos, at, df,…, rgrep, setfacl atd.
Tato proměnná prostředí se používá například k definování, zda má příkaz používat datový formát vyhovující POSIXu nebo ten, který tento příkaz používá ve výchozím nastavení.
/ Unifix Linux 2.0 od německé společnosti Unifix a Linux-FT z Lasermoon jsou certifikovány POSIX.1 FIPS 151-2 . Jádro 1.2.13
Web Debian vysvětluje, že „[...] POSIX.1 (a FIPS 151-2) certifikace je velmi nákladná [a] je nepravděpodobné, že Debian získá oficiální certifikaci shody . “