POSIX

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.

Prezentace

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

Organizace

V současné době je dokumentace POSIX rozdělena do tří částí:

Verze

Standard POSIX zná několik verzí:

Omezení

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 .

Linux a POSIX

Proměnná prostředí POSIXLY_CORRECT

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

Certifikace Linux POSIX

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

Reference

  1. (in) Původ názvu POSIX. na oficiálním webu Richarda Stallmana.
  2. (in) POSIX 1003.1 Často kladené otázky (FAQ verze 1.12)
  3. 1) Posix.1; 2) Posix.1a; 3) Posix.2; 4) Posix.3; 5) Posix.4; 6) Posix.4a; 7) Posix.4b; 8) Posix.5; 9) Posix.6; 10) Posix.7; 11) Posix.8; 12) Posix.9; 13) Posix.10; 14) Posix.11; 15) Posix.12; 16) Posix.13; 16) Posix.15; 17) Posix.17; Zdroj
  4. „  sh  “ , na pubs.opengroup.org (přístup 6. září 2015 )
  5. Tato poznámka představuje některé problémy týkající se portování unixových aplikací a knihoven na platformy unix-on-windows, jako jsou uwin a cygwin. http://www2.research.att.com/~gsf/download/win32/win32.html
  6. (in) „  Linux Signals  “
  7. Audrey Oeillet, „  Další vteřina roku 2012, kterou některé weby a programy špatně strávily  “ , na clubic.com ,2. července 2012(zpřístupněno 26. srpna 2020 ) .
  8. Příkaz at se používá ke spuštění unixového příkazu ve stanoveném datu a čase, viz (en) at (Unix)
  9. df: podívejte se na obsazení disku v souborovém systému , viz (en) df (Unix)
  10. stránka Debianu hovořící o Unifixu a jeho derivátu LINUX-FT
  11. Unifix byl vyroben v Německu a certifikace byla provedena ve Spojených státech (článek ze srpna 1996) .
  12. (in) POSIX.1 (FIPS 151-2) Certifikace LINUX-FT
  13. (in) jádro 1.2.13 1.3.59 jádro POSIX.1 certifikováno Prošlo certifikačními testy

Podívejte se také

Související články

externí odkazy