GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Linux est-il considéré comme compatible avec Xsi ou en grande partie ?

De l'APUE

La spécification UNIX unique, un sur-ensemble de la norme POSIX.1,
spécifie des interfaces supplémentaires qui étendent les fonctionnalités fournies
par la spécification POSIX.1. POSIX.1 équivaut à la partie
Spécifications de base de la spécification UNIX unique.

L'option X/Open System Interfaces (XSI) dans POSIX.1 décrit
les interfaces optionnelles et définit quelles parties optionnelles de
POSIX.1 doivent être prises en charge pour qu'une implémentation soit considérée
conforme à XSI. Celles-ci incluent la synchronisation de fichiers, les attributs d'adresse et de taille
de pile de threads, la synchronisation partagée par processus de threads,
et la constante symbolique
_XOPEN_UNIX (marquée « SUS obligatoire » dans la figure 2.5). Seules les implémentations conformes XSI peuvent être appelées systèmes UNIX.

Est-il exact que SUS se compose exactement de POSIX et XSI ?

Est-il exact que Linux (ou Ubuntu, Debian en particulier) est compatible POSIX ?

Linux (ou Ubuntu, Debian en particulier) est-il considéré comme conforme à XSI ou en grande partie ?
Je pose cette question car je saurai alors si les parties de l'APUE étiquetées pour XSI s'appliquent à Linux (ou Ubuntu, Debian en particulier).

Je suis principalement intéressé par l'API, cela signifie-t-il que le noyau Linux est suffisant ?

Réponse acceptée :

Linux n'est pas entièrement compatible POSIX. Il y a par ex. appels système qui se comportent différemment (désolé, je ne me souviens pas exactement quelles sont les différences ; je les décrirai ici quand je m'en souviendrai à nouveau).

Un problème est par ex. que Linux n'inclut pas un waitid() correct appel système (qui délivre tous les 32 bits de la exit() paramètre) et les gens du noyau Linux n'aiment pas résoudre ce problème. (waitid() existe depuis AT&T System V Release 4..)

Certains des XSI les fonctionnalités sont implémentées sous Linux mais pas toutes.

bash (la façon dont il est compilé pour les distributions Linux) vient par exemple. avec un non XSI echo conforme intégré, dash ne prend pas en charge les multi byte chars qui est requis par XSI . Cela s'est produit après un certain temps d'adoption de POSIX après que Linux ait reçu l'offre d'obtenir une certification assistée pour un dollar.

Si vous souhaitez avoir une vue d'ensemble correcte, vous pourriez être intéressé à rechercher sur le net le dernier article sur les non-conformités POSIX dans Linux d'Andrew Josey qui a été écrit après que les gens de Linux ont dit à l'Opengroup qu'ils ne souhaitaient plus devenir Conforme POSIX.

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

BTW :Il y a des rumeurs selon lesquelles Red Hat a récemment reçu une copie de la suite de tests POSIX, il se peut donc qu'il y ait une certification en cours cachée…

Connexe :Exécution d'une fonction définie par l'utilisateur dans un appel find -exec ?
Linux
  1. Commande Linux mv

  2. Linux du command

  3. Commande IP Linux

  4. Commande cd Linux

  5. Mémoire partagée Linux :shmget() vs mmap() ?

Commande W sous Linux

À la commande sous Linux

Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

Linux contre Unix

Pourquoi Linux/POSIX a-t-il lchown mais pas lchmod ?

Existe-t-il une distribution Linux certifiée UNIX ?