GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿Linux se considera compatible con Xsi o en gran medida?

Desde APUE

La especificación UNIX única, un superconjunto del estándar POSIX.1,
especifica interfaces adicionales que amplían la funcionalidad proporcionada
por la especificación POSIX.1. POSIX.1 es equivalente a la parte de especificaciones
básicas de la especificación UNIX única.

La opción X/Open System Interfaces (XSI) en POSIX.1 describe
interfaces opcionales y define qué partes opcionales de
POSIX.1 deben admitirse para que una implementación se considere
compatible con XSI. Estos incluyen sincronización de archivos, atributos de dirección y tamaño de la pila de subprocesos, sincronización compartida de procesos de subprocesos,
y la constante simbólica
_XOPEN_UNIX (marcada como "SUS obligatoria" en la Figura 2.5). Solo las implementaciones que cumplen con XSI pueden llamarse sistemas UNIX.

¿Es correcto que SUS consiste exactamente en POSIX y XSI?

¿Es correcto que Linux (o Ubuntu, Debian en particular) sea compatible con POSIX?

¿Linux (o Ubuntu, Debian en particular) se considera compatible con XSI o en gran parte lo es?
Pregunto esto porque entonces sabré si las partes en APUE etiquetadas para XSI se aplican a Linux (o Ubuntu, Debian en particular).

Estoy principalmente interesado en la API, ¿eso significa que el kernel de Linux es suficiente?

Respuesta aceptada:

Linux no es totalmente compatible con POSIX. Hay por ej. llamadas al sistema que se comportan de manera diferente (lo siento, actualmente no recuerdo cuáles son exactamente las diferencias; las describiré aquí cuando vuelva a recordar).

Un problema es, p. que Linux no incluye un waitid() correcto llamada al sistema (que entrega los 32 bits desde exit() parámetro) y a la gente del kernel de Linux no le gusta arreglar esto. (waitid() existe desde AT&T System V Release 4..)

Algunos de los XSI Las funciones están implementadas en Linux, pero no todas.

bash (la forma en que se compila para las distribuciones de Linux) viene, p. con un no XSI compatible echo integrado, dash no admite multi byte chars que es requerido por XSI . Esto sucedió después de un tiempo de adopciones de POSIX después de que Linux recibiera la oferta de obtener una certificación asistida por un dólar.

Si desea obtener una descripción general correcta, es posible que le interese buscar en la red el artículo final de Andrew Josey sobre los incumplimientos de POSIX en Linux que se escribió después de que la gente de Linux le dijera a Opengroup que ya no están interesados ​​en convertirse en Compatible con POSIX.

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

Por cierto:hay rumores de que Red Hat recibió recientemente una copia del conjunto de pruebas POSIX, por lo que puede ser que haya una certificación oculta en curso...

Relacionado:¿Ejecutar la función definida por el usuario en una llamada find -exec?
Linux
  1. ¿Qué es POSIX? ¿Por qué es importante para los usuarios de Linux/UNIX?

  2. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

  3. Comando IP de Linux

  4. Comando cd de linux

  5. ¿Por qué no es compatible con GNU/Linux SUS v3+?

Comando W en Linux

Al mando en Linux

Linux frente a Unix

Memoria compartida de Linux:shmget() vs mmap()?

¿Por qué se considera seguro instalar algo como usuario no root en entornos Linux?

¿Por qué timer_t está definido en time.h en Linux pero no en OS X?