GNU/Linux >> Znalost Linux >  >> Linux

Linux – Je Linux považován za kompatibilní s Xsi, nebo do značné míry ano?

Od APUE

Specifikace Single UNIX, nadmnožina standardu POSIX.1,
specifikuje další rozhraní, která rozšiřují funkce poskytované
specifikací POSIX.1. POSIX.1 je ekvivalentní části Base
Specifikace jednotné specifikace UNIX.

Volba X/Open System Interfaces (XSI) v POSIX.1 popisuje
volitelná rozhraní a definuje, které volitelné části
POSIX.1 musí být podporovány, aby byla implementace považována za
vyhovující XSI. Patří mezi ně synchronizace souborů, zásobník vláken
adresa a atributy velikosti, synchronizace sdílená procesem vlákna
a symbolická konstanta
_XOPEN_UNIX (označená jako „SUS povinné“ na obrázku 2.5). Pouze implementace vyhovující XSI mohou být nazývány systémy UNIX.

Je správné, že SUS se skládá přesně z POSIX a XSI?

Je správné, že Linux (nebo Ubuntu, konkrétně Debian) je kompatibilní s POSIX?

Je Linux (nebo Ubuntu, konkrétně Debian) považován za kompatibilní s XSI nebo do značné míry ano?
Ptám se na to, protože pak budu vědět, zda části v APUE označené jako XSI platí pro Linux (nebo Ubuntu, konkrétně Debian).

Zajímá mě hlavně API, takže to znamená, že linuxové jádro stačí?

Přijatá odpověď:

Linux není plně kompatibilní s POSIX. Existují např. systémová volání, která se chovají odlišně (omlouvám se, momentálně si přesně nepamatuji, jaké jsou rozdíly; popíšu je zde, až si znovu vzpomenu).

Jeden problém je např. že Linux neobsahuje správné waitid() systémové volání (které dodává všech 32 bitů z exit() parametr) a lidé z linuxového jádra to neradi opravují. (waitid() existuje od AT&T System V Release 4..)

Některé z XSI funkce jsou implementovány v Linuxu, ale ne všechny.

bash (způsob, jakým je kompilován pro linuxové distribuce) přichází např. s jiným než XSI vyhovující echo vestavěný, dash nepodporuje multi byte chars který vyžaduje XSI . Stalo se to po nějaké době přijetí POSIX poté, co Linux dostal nabídku získat asistovanou certifikaci za jeden dolar.

Pokud chcete získat správný přehled, možná vás bude zajímat hledat na netu závěrečný dokument o neshodách POSIX v Linuxu od Andrewa Joseyho, který byl napsán poté, co lidé z Linuxu řekli Opengroup, že již nemají zájem se stát V souladu s POSIX.

Viz:http://www.opengroup.org/personal/ajosey/tr20-08-2005.txt

BTW:Proslýchá se, že Red Hat nedávno obdržel kopii testovací sady POSIX, takže je možné, že existuje skrytá probíhající certifikace…

Související:Provádění uživatelem definované funkce ve volání find -exec?
Linux
  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. Linux cd příkaz

  2. Sdílená paměť Linuxu:shmget() vs mmap()?

  3. linuxový příkaz ke kontrole fronty zpráv POSIX

  1. Linux – standardní a/nebo společné adresáře na operačních systémech Unix/linux?

  2. Posix Programmer’s Manual versus Linux Programmer’s Manual?

  3. Existuje distribuce Linuxu s certifikací UNIX?