POSIX

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher

POSIX est le nom d'une famille de standards définie depuis 1988 par l'Institute of Electrical and Electronics Engineers et formellement désignée IEEE 1003. Ces standards ont émergé d'un projet de standardisation des API des logiciels destinés à fonctionner sur des variantes du système d'exploitation UNIX.
Le terme POSIX a été suggéré par Richard Stallman en réponse à la demande de l'IEEE d'un nom facilement mémorisable[1]. C'est un acronyme de Portable Operating System Interface, dont le X exprime l'héritage UNIX de l'Interface de programmation.

Sommaire

Présentation

POSIX spécifie dans 17 documents[2] différents les interfaces utilisateurs et les interfaces logicielles. La ligne de commande standard et l'interface de script est le Korn shell. Les autres commandes, services et utilitaires comprennent awk, echo, ed, et des centaines d'autres. Les services d'entrées/sorties de base (fichiers, terminaux, réseau) doivent être présents (pour les spécifications POSIX sur les attributs de fichiers, voir Spécifications POSIX sur les attributs de fichiers). POSIX définit aussi une API standard pour les bibliothèques de threading qui est prise en charge par la plupart des systèmes d'exploitation récents.

Une suite de tests pour POSIX accompagne le standard. Il est appelé PCTS (POSIX Conformance Test Suite, 'Suite de tests pour la conformité POSIX').

Comme l'IEEE vend très cher la documentation POSIX et ne permet pas sa publication sur Internet, certains se sont tournés vers le standard Single UNIX Specification. En effet, ce dernier est ouvert, accepte les propositions de quiconque veut y contribuer, et est disponible gratuitement sur Internet. Ce travail remonte au début de 1998, lorsqu'un groupe de travail commun, l'Austin Group (en), a commencé à développer un standard qui est devenu la Single UNIX Specification Version 3.

Bien qu'il soit principalement implémenté sur des systèmes de type UNIX, le standard POSIX peut être utilisé par n'importe quel autre système d'exploitation. Par exemple, Microsoft Windows NT est conforme à POSIX.1, ce qui est suffisant pour des programmes POSIX relativement simples. Cependant, des programmes plus complexes ont besoin d'une compatibilité plus grande. Des logiciels supplémentaires tels que Services for UNIX ou Cygwin peuvent apporter à Windows ce niveau de compatibilité. UWIN (en) offre une compatibilité POSIX[3], y compris sur les chemins de fichiers.

Le consortium Linux Standard Base publie plusieurs extensions et des standards de fait pour les systèmes d'exploitation basés sur Linux. Elles sont peu susceptibles d'être reprises par les autres systèmes de type UNIX, qui respectent d'autres standards plus anciens, bien que dans de nombreux cas la Linux Standard Base reprenne ces derniers.

Une grande partie des API de POSIX a été définie à une époque où l'adressage des machines se faisait sur 32 bits au maximum. Pour cette raison, les fichiers POSIX ne pouvaient dépasser 2 Go. En effet, le standard précisait que la position d'un octet de fichier par rapport à la position courante était contenue dans un entier signé de 32 bits.

Organisation

Actuellement, la documentation de POSIX est divisée en trois parties :

  • les API (permet de définir la manière dont un composant informatique peut communiquer avec un autre) de base (qui comprennent des extensions à POSIX.1, les services temps réel, les processus légers, les extensions temps réel, l'interface de sécurité, l'accès aux fichiers par le réseau, et les communications inter-processus par le réseau) ;
  • les commandes et utilitaires POSIX (extensions de portabilité des utilisateurs, corrections et extensions, utilitaire de protection et de contrôle, utilitaires pour le traitement par lots) ;
  • test de conformité à POSIX.

Versions

La norme POSIX a connu plusieurs versions :

  • POSIX.1c, extension sur les processus légers (les threads) (IEEE Std 1003.1c-1995) :
    • la création, le contrôle et la suppression des threads
    • l'ordonnancement des threads
    • la synchronisation des threads
    • l'interception des signaux (Signal Handling)

Linux et POSIX

Variable d'environnement POSIXLY_CORRECT

La variable d'environnement POSIXLY_CORRECT permet d'indiquer si une commande doit se conformer à POSIX ou non. Les commandes d'administration ne sont pas concernées par cette variable.

Plusieurs dizaines de commandes adaptent leur fonctionnement en fonction de la valeur de POSIXLY_CORRECT ; les exemples les plus typiques sont les commandes grep et find, mais il en existe bien d'autres : apropos, at[5], df[6], ..., rgrep, setfacl, etc.

Cette variable d'environnement sert par exemple à définir si une commande doit utiliser le format de donnée conforme à POSIX ou celui qui est utilisé par défaut par cette commande.

Certification POSIX de Linux

Unifix Linux 2.0 de la société allemande Unifix et Linux-FT de Lasermoon sont certifiés POSIX.1 FIPS 151-2[7],[8],[9] (Federal Information Processing Standard[10]). Noyau 1.2.13[11]

Le site Debian explique « les normes de POSIX ne sont pas gratuites et la certification POSIX.1 (et FIPS 151-2) est très chère »[12].

Références

  1. (en) POSIX® 1003.1 Frequently Asked Questions (FAQ Version 1.12)
  2. 1) Posix.1 ; 2) Posix.1a ; 3) Posix.2 ; 4) Posix.3 ; 5) Posix.4 ; 6) Posix.4a ; 7) Posix.4b ; 8) Posix.5 ; 9) Posix.6 ; 10) Posix.7 ; 11) Posix.8 ; 12) Posix.9 ; 13) Posix.10 ; 14) Posix.11 ; 15) Posix.12 ;16) Posix.13 ; 16) Posix.15 ;17) Posix.17 ; Source
  3. This note presents some issues on the porting of unix-based applications and libraries to unix-on-windows platforms like uwin and cygwin. http://www2.research.att.com/~gsf/download/win32/win32.html
  4. (en) Linux Signals
  5. La commande at permet de lancer une commande Unix à la date et l'heure spécifiées, voir (en) at (Unix)
  6. df : voir l'occupation du disque sur un système de fichier, voir (en) df (Unix)
  7. Page Debian parlant d'Unifix et de son dérivé LINUX-FT
  8. Unifix a été réalisé en Allemagne et la certification a été faite aux USA (Article d'août 1996)
  9. (en) POSIX.1 (FIPS 151-2) Certification de LINUX-FT
  10. Federal Information Processing Standard
  11. (en) The 1.2.13 kernel certified POSIX.1 Kernel 1.3.59 passed certification tests
  12. Page du site Debian parlant de la certification POSIX

Voir aussi

Articles connexes

  • LSB : ce projet est basé sur POSIX et a pour but de standardiser la structure interne des systèmes d'exploitation basés sur GNU/Linux.
  • unistd.h : Cet include indique la version de la norme Posix à utiliser pour la compilation

Liens externes

mentions légales Wikipédia
logo wikimediapolitique de confidentialité à propos de Wikipédia avertissements contacts logo wikimediafaire un don

POSIX . Wikipédia


POSIX est le nom d'une famille de standards définie depuis 1988 par l'Institute of...Le terme POSIX a été suggéré par Richard Stallman en réponse à la demande de l'IEEE d'un nom facilement mémorisable [ 1...

POPUX PETIT CLIENT POP3 POUR POSIX pop3, socket, client, popux, linux, Source


POPUX PETIT CLIENT POP3 POUR POSIX. Information sur la source. Note : Aucune note. Catégorie : Réseaux & Internet Classé sous : pop3 , socket , client , popux , linux Niveau : Initié Date de création...

Mon Monde eBay . posix_de


Ces évaluations apportent des informations supplémentaires sur les performances de ce membre en tant que vendeur. Une note de cinq étoiles correspond au meilleur niveau et une étoile correspond au...
Plus d'infos Sur le web

  • POSIX est le nom d'une famille de standards définie depuis 1988 par l'Institute of Electrical and Electronics Engineers et formellement ...
    10 Kio (1 255 mots) - 25 mars 2012 à 21:10

  • Spécifications POSIX sur les attributs de fichiers : Le standard POSIX s'est basé sur les systèmes de fichiers traditionnels d'Unix. ...
    8 Kio (1 156 mots) - 11 décembre 2011 à 18:01

  • Heure Unix (redirection depuis Heure POSIX)
    L heure Posix (aussi appelée POSIX timestamp) est une mesure du temps utilisée principalement dans les systèmes qui respectent la norme ...
    31 Kio (3 810 mots) - 22 janvier 2012 à 20:39

  • SIGINT est, au sein des plateformes répondant aux normes POSIX , le signal envoyé à un processus afin de provoquer son interruption. ...
    1 Kio (127 mots) - 1 décembre 2010 à 10:12

  • C'est une implémentation libre du système UNIX respectant les spécifications POSIX . Ce système est né dans le milieu hacker de la ...
    84 Kio (10 792 mots) - 24 mai 2012 à 09:37

  • Interface de programmation: POSIX (acronyme de l'anglais. en | Portable Operating System Interface est une norme relative à l'interface de ...
    77 Kio (9 268 mots) - 25 mai 2012 à 09:57

  • QNX (prononcé Q-N-X ou Q-nix) est un système d'exploitation UNIX commercial temps réel compatible POSIX , conçu principalement pour le ...
    4 Kio (433 mots) - 16 mai 2012 à 19:37

  • ls est une commande POSIX (abréviation de l ist s egments en anglais ), qui permet d'afficher le contenu d'un répertoire . Exemple ...
    4 Kio (471 mots) - 27 février 2012 à 06:50

  • Expressions rationnelles étendues POSIX: Le standard POSIX a cherché à remédier à la prolifération des syntaxes et fonctionnalités, en ...
    53 Kio (6 607 mots) - 24 mai 2012 à 10:26

  • which est également une commande POSIX qui retourne le chemin des fichiers qui seraient exécutés dans l'environnement courant si ses ...
    1 Kio (187 mots) - 27 février 2012 à 06:34

  • mmap (« en | memory map ») est un appel système UNIX (qui fait partie de la norme POSIX ). Il établit une projection en mémoire des ...
    1 Kio (136 mots) - 28 février 2012 à 11:09

  • Rockridge est une extension du format ISO 9660 auquel s'ajoute la sémantique des systèmes de fichiers POSIX . Ce format est utilisé par ...
    774 o (86 mots) - 9 avril 2011 à 11:21

  • cut est une commande POSIX qui retire des passages de chaque ligne des fichiers passés en paramètre et affiche le résultat sur la sortie ...
    1 Kio (116 mots) - 24 février 2012 à 10:06

  • Au sein des plateformes répondant aux normes POSIX , SIGTERM est le signal envoyé à un processus afin de provoquer sa fin. La constante ...
    2 Kio (268 mots) - 28 février 2012 à 17:51

  • Au sein des plateformes répondant aux normes POSIX , SIGKILL est le signal envoyé à un processus afin de provoquer sa fin immédiate. ...
    2 Kio (275 mots) - 24 avril 2012 à 15:07

  • sort est une commande POSIX qui permet de trier des fichiers ou leurs contenus. Par défaut, sort affiche l'ensemble des lignes des ...
    2 Kio (299 mots) - 24 février 2012 à 10:09

  • apropos est une commande POSIX qui permet de lister les manuels dont la description comprend les mots passés en arguments. Chaque page de ...
    2 Kio (215 mots) - 23 avril 2012 à 14:57

  • MaRTE OS est un système temps réel écrit en Ada qui suit les recommandations d'un sous-ensemble de la norme POSIX .13. Il permet ...
    837 o (105 mots) - 8 octobre 2011 à 10:34

  • whatis est une commande POSIX qui affiche la description des pages de manuel. Chaque page de manuel comporte une description courte. ...
    2 Kio (238 mots) - 23 février 2012 à 09:55

  • nl est une commande POSIX qui permet de numéroter les lignes d'un fichier. Exemple : $ cat fichier1. txt la première ligne du fichier et la ...
    615 o (73 mots) - 18 mai 2012 à 12:41