Hello!

Inspiré(e) de prendre part à la discussion ? Ou de poser une question ou demander de l’aide ?

Alors bienvenues dans les grands sujets des forums de La Bulle : m’inscrire.

Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires

Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.

UNIX, POSIX et SUS : références et à‑propos
Auteur Message
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Sam 6 Avr 2013 22:35
Message UNIX, POSIX et SUS : références et à‑propos
Pour garder une trace et regrouper ces liens ensemble.

POSIX, tout le monde (les gens concernés) connait. SUS est moins connu. Il existe un rapport entre les deux, historique et concret. Se pose aussi la question de la conformité des environnements informatiques à POSIX ou SUS, sachant que la conformité à SUS implique la conformité à POSIX.

Rappel de la signification des acronymes


  • POSIX = “Portable Operating System Interface” = « Interface portable, de système d’exploitation ». Il manque le X : il a été ajouté pour faire une référence à UNIX.
  • SUS = “Single UNIX Specification” = « Seule et unique spécification d’UNIX ». UNIX n’a rien à voir avec le mot « unique », c’est seulement en français que les deux mots semblent phonétiquement similaire.
  • UNIX = UNICS, ça n’est pas un sigle (mais UNICS en est un).
  • UNICS = “UNiplexed Information and Computing Service” = « Service uniplexe d’information et de traitement de l’information ». Il faut comprendre « uniplexe » par opposition à « multiplexe » et étendre la notion de traitement de l’information à celle du calcul (“computation” en Anglais, qui a donné le mot “computer” = « ordinateur »).

POSIX et SUS


Les deux seuls références publiquement accessibles que je connaisse :


SUS version 2 seulement est accessible publiquement. La dernière versions, SUS version 3 est accessible moyennant paiement. L’intérêt d’acheter la dernière version dépend de ce qui est en jeux. La dernière version en travail, est la version 4.

POSIX vs SUS


Jusqu’à aujourd’hui, je ne connaissais que POSIX et pensais que SUS était un ancêtre périmé et non‑standardisé de POSIX. J’ai pris conscience de ce qu’est SUS en cherchant la spécification de CURSES (la librairie pour les applications en mode texte sur les consoles), dont j’avais appris qu’elle était « définie par POSIX » (finalement pas exactement), mais dont je ne trouvais aucune trace dans ma copie locale de POSIX.1-2008. Je l’ai finalement trouvé dans un document qui ressemblait beaucoup à la spécification POSIX.1-2008, mais différent tout de même, et plus ancien. Je ne comprenais plus et ne m’expliquais pas qu’un document plus récent qu’un autre plus ancien, puisse être moins complet…

Je me suis donc mis en quête de comprendre ce qui relie et distingue, POSIX et SUS.

Pour résumé très succinctement la chronologie et les relations :

  1. D’abord il y a eu le système d’exploitation Multics, dans la seconde moité des années 1960, jusqu’au années 1970 principalement, et entièrement disparu depuis 2000.
  2. En 1970, né le système d’exploitation Unics, nommé d’après Multics. Contrairement à Multics, Unics n’était pas multiplexé, et c’est ce qu’exprimait son nom : il fournissait des fonctionnalités similaires à celles fournies par Multics, mais il n’exécutait pas les applications en temps partagé; il était de conception plus simple et moins ambitieuse (le multitâche est entré dans le monde d’UNIX plus tard).
  3. Pas très longtemps plus tard, environ en 1971 ou 1972, Unics et renommé UNIX, un nom qui ne semble pas être un acronyme.
  4. Plusieurs systèmes d’exploitation dérivés d’UNIX voient le jour, plus ou moins compatibles entre eux.
  5. En 1988, l’IEEE (“Institute of Electrical and Electronics Engineers”), un organisme qui entre autre est l’auteur de standardisations, décide de créer un standard pour les interfaces avec les systèmes d’exploitation, de manière à ne pas gaspiller le développement des applications et à les rendre portables d’un environnement informatique à l’autre. UNIX est choisi comme base, parce qu’il ne présentait pas de risque de monopole, plusieurs éditeur de logiciels étant impliqués, et non‑pas un acteur unique. Les UNIX étant cependant tous différents bien que très proches, il fallait standardiser cette base commune; POSIX était né.
  6. L’IEEE n’étant pas propriétaire de la marque UNIX (parce que c’est une marque), il ne lui était pas possible de proclamer proposer une spécification standard d’UNIX. D’autres parties ont cependant put se le permettre, l’organisation X/Open. Mais ils n’ont pas repris POSIX, qui appartenait à l’IEEE, ils ont créer un autre standard, la SUS, inspirée de POSIX.
  7. Plus tard, X/Open devient l’OpenGroup, et POSIX est rapproché de SUS, pour devenir un sous‑ensemble de SUS, SUS devenant alors POSIX + des extensions, auxquelles je crois il est fait référence sous le nom de XSI.

Ce qu’il faut retenir en pratique, c’est que POSIX, constitue le noyaux de SUS, autant qu’il y a toujours un noyaux dans une pêche. À chaque version de SUS, correspond donc une version de POSIX.

Un détail important à ce point‑ci : la version publiquement disponible de SUS et la version publiquement disponible de POSIX, ne concordent pas.

  • SUS version 2 date de 1997, et son noyau était le POSIX de l’époque, le POSIX tout court, ou encore POSIX IEEE 1003.
  • SUS version 3 date de 2001, et son noyau est POSIX.1‑2001
  • SUS version 4 date de 2008, et son noyau est POSIX.1‑2008

Ors, la version publiquement disponible de SUS, est la version 2, et la version de POSIX publiquement disponible la plus récente à la date de ce message, est la version 1‑2008.

Il faut bien l’avoir à l’esprit quand vous consultez l’une ou l’autre : quand vous‑vous référez à SUS, ne vous‑y référez que pour les extensions, comme par exemple X/Open Curses. Pour le reste, référez‑vous à POSIX.1‑2008 ou ultérieur. Dit plus simplement, ne vous référez à SUS que pour ce que vous ne trouvez pas dans POSIX. Pour chaque aspect du standard, prenez des deux documents qui le couvre, le plus récent. Pour les sockets et l’interface réseau, ce sera par exemple POSIX, mais pour Curses/NCurses, ce sera SUS, parce que POSIX ne couvre pas ce domaine.

Quels systèmes sont vraiment conformes à POSIX ou SUS ?


Pour faire court, seuls les systèmes commerciaux sont garantis conformes, parce que la procédure de validation n’est pas gratuite. Ceci exclus donc les dérivés de Linux et les BSD « gratuits ». Il serait probablement possible de les faire valider en les finançant par un coût d’achat modique pour les gens qui les télécharge, mais 99.9% des gens qui les téléchargent trouveraient cela outrageusement intolérable, que de payer 10 cents pour ça, alors que cela suffirait probablement à financer les 30 000€ nécessaire à la validation (quoique que se poserait aussi la question des rythmes de développement, qui rendraient nécessaires, des re‑validations peut‑être trop fréquentes).

Un projet intéressant, de l’équipe de développement du système d’exploitation FreeBSD, de faire tout ce qu’ils peuvent pour rendre l’environnement FreeBSD strictement conforme à POSIX et au C ISO 99 : FreeBSD C99 and POSIX® Conformance Project (freebsd.org).

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Mar 9 Avr 2013 15:35
Message Re: UNIX, POSIX et SUS : références et à‑propos
Deux images. La première est un arbre qui représente l’histoire et les relations entre les dérivés d’UNIX. La seconde est un arbre du même style, pour l’histoire réciproquement dépendante de SUS et POSIX.

Généalogie des UNIX et Unix‑like


Image

Généalogie et histoire de POSIX et SUS


Image

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Ven 25 Avr 2014 13:23
Message Re: UNIX, POSIX et SUS : références et à‑propos
Une autre image de la généalogie des UNIX. Je ne peux plus dire où je l’avais trouvé.

Image

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Sam 23 Aoû 2014 02:24
Message Re: UNIX, POSIX et SUS : références et à‑propos
Pas directement à propos de POSIX et SUS, mais utile à lier. Il existe un registre des identifiants de systèmes d’exploitation à l’IANA. Dans ce registre, on trouve les identifiants des systèmes UNIX‑like les plus répandus, ce qui peut être utile pour s’y référer et les distinguer de manière intelligible.

Ce registre n’est pertinent que dans le cadre de l’identification des types d’hôtes sur le réseau Internet (voir RFC 952DOD Internet host table specification). Il n’est pas pertinent pour identifier une plateforme utilisateur en général (il ne distingue par les environnements de bureau, les capacités multimédias, etc).

Le registre : Operating system names (iana.org).
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Sam 23 Aoû 2014 03:26
Message Re: UNIX, POSIX et SUS : références et à‑propos
Hibou a écrit : 
Pas directement à propos de POSIX et SUS, mais utile à lier. […]


Idem, utile à lier, un registre des noms officiels des types de terminaux : Terminal type names (iana.org).

Intéressant à noter, est que l’IBM-3812-1 / IBM-5553-B01 (jamais entendu parler de celui là avant Gné ?! ), est l’objet d’une RFC : IBM's iSeries Telnet Enhancements (tools.ietf.org).

J’ouvrirai peut‑être un jour un sujet sur le thème confus des terminaux VTnnn.
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Ven 26 Sep 2014 03:10
Message Re: UNIX, POSIX et SUS : références et à‑propos
Assez en rapport, voir aussi : Les standards du C (le langage, ISO/IEC 9899).

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Jeu 29 Jan 2015 17:50
Message Re: UNIX, POSIX et SUS : références et à‑propos
Une consultation en ligne bien faite et bien pratique, des pages man : Mankier (mankier.com).

Chaque page man est présentée sous une forme structurée avec un panneau de navigation à gauche, qui ressemble plus aux applications de consultation de fichier d’aide contemporaine qu’à l’archaïsme habituel avec les pages man.

Il est possible de documenter une ligne de commande : site sait reconnaitre la commande, et les options utiliser, pour n’afficher que l’aide spécifique à une ligne de commande en particulier.

J’ignore s’il est possible d’avoir la même chose en local.

Je pensais justement à faire quelque chose de similaire un jour, eh bien ça a finalement été fait par quelqu’un.

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Mer 6 Jan 2016 03:13
Message Re: UNIX, POSIX et SUS : références et à‑propos
Pas un standard, cependant assez intéressant pour être lié ici :

The Art of Unix Programming (faqs.org), Eric Steven Raymond, 1999‑2003.

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Mer 10 Fév 2016 23:10
Message Re: UNIX, POSIX et SUS : références et à‑propos
LSB, Linux Standard Base, est une extension de POSIX. Je ne savais pas que ce standard se définit ainsi, c’est pourquoi je ne l’avais pas mentionné avant. Je croyais c’était à part …

LSB est actuellement à la version 5. Il existe un standard ISO en plusieurs parties, pour la version 3.1. Il existe une procédure de certification LSB, mais elle est critiquée, et apparemment pour de bonnes raisons.


Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Mer 1 Nov 2017 18:39
Message Re: UNIX, POSIX et SUS : références et à‑propos
Hibou a écrit : 
[…]

Idem, utile à lier, un registre des noms officiels des types de terminaux : Terminal type names (iana.org).

[…]

Une vidéo de présentation d’une librairie Python nommée URWID, contient un long prologue sur les types de terminaux et confirme malheureusement l’absence de standard dans le domaine, même maintenant.

Use curses, don't swear — Sean Zicari — 2013


J’en profite pour donner le lien vers un standard quand‑même, même si limité, l’ECMA 48 : Control Functions for Coded Character Sets — ECMA 48 (ecma-international.org).

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
cron