GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:Linux è considerato conforme a Xsi o in gran parte lo è?

Da APUE

La specifica UNIX singola, un superset dello standard POSIX.1,
specifica interfacce aggiuntive che estendono la funzionalità fornita
dalla specifica POSIX.1. POSIX.1 è equivalente alla parte Base
Specifiche della specifica UNIX singola.

L'opzione X/Open System Interfaces (XSI) in POSIX.1 descrive
interfacce opzionali e definisce quali parti opzionali di
POSIX.1 devono essere supportate affinché un'implementazione sia considerata
XSI conforme. Questi includono la sincronizzazione dei file, lo stack di thread
gli attributi di indirizzo e dimensione, la sincronizzazione condivisa dal processo di thread e la costante simbolica
_XOPEN_UNIX (contrassegnata come "SUS obbligatorio" nella Figura 2.5). Solo le implementazioni conformi a XSI possono essere chiamate sistemi UNIX.

È corretto che SUS sia composto esattamente da POSIX e XSI?

È corretto che Linux (o Ubuntu, in particolare Debian) sia conforme a POSIX?

Linux (o Ubuntu, in particolare Debian) è considerato conforme a XSI o in gran parte lo è?
Lo chiedo perché così saprò se le parti in APUE etichettate per XSI si applicano a Linux (o Ubuntu, Debian in particolare).

Sono principalmente interessato alle API, quindi significa che il kernel Linux è sufficiente?

Risposta accettata:

Linux non è completamente conforme a POSIX. Ci sono ad es. chiamate di sistema che si comportano in modo diverso (scusate al momento non ricordo esattamente quali siano le differenze; ​​le descriverò qui quando me lo ricorderò di nuovo).

Un problema è ad es. che Linux non includa un waitid() corretto chiamata di sistema (che fornisce tutti i 32 bit da exit() parametro) e alle persone del kernel Linux non piace risolvere questo problema. (waitid() esiste da AT&T System V Release 4..)

Alcuni dei XSI le funzionalità sono implementate in Linux ma non tutte.

bash (il modo in cui è compilato per le distribuzioni Linux) viene ad es. con un non XSI conforme echo integrato, dash non supporta multi byte chars che è richiesto da XSI . Ciò è accaduto dopo un po' di tempo di adozione di POSIX dopo che Linux ha ricevuto l'offerta di ottenere una certificazione assistita per un dollaro.

Se ti piace avere una panoramica corretta, potresti essere interessato a cercare in rete il documento finale sulle non conformità POSIX in Linux di Andrew Josey che è stato scritto dopo che le persone di Linux hanno detto a Opengroup che non sono più interessate a diventare Conforme a POSIX.

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

A proposito:ci sono voci secondo cui Red Hat ha recentemente ricevuto una copia della suite di test POSIX, quindi è possibile che ci sia una certificazione nascosta in corso...

Correlati:esecuzione della funzione definita dall'utente in una chiamata find -exec?
Linux
  1. Comando Linux mv

  2. Linux du comando

  3. Perché è considerato sicuro installare qualcosa come utente non root in ambienti Linux?

  4. Perché GNU/Linux SUS v3+ non è compatibile?

  5. comando linux per controllare la coda dei messaggi POSIX

Comando W in Linux

Al comando in Linux

Linux vs Unix

comando cd di Linux

Memoria condivisa di Linux:shmget() vs mmap()?

Esiste una distribuzione Linux certificata UNIX?