7 décembre 2022

Qu'est-ce que la norme POSIX ?

La norme POSIX signifie Portable Operating System Interface et est très utile pour la portabilité

Qu'est-ce que l'interface de système d'exploitation portable (POSIX) ?

POSIX (Portable Operating System Interface) est un ensemble d'interfaces de système d'exploitation standard basées sur le système d'exploitation Unix . La spécification POSIX la plus récente - IEEE Std 1003.1-2017 - définit une interface et un environnement standard qui peuvent être utilisés par un système d'exploitation ( OS ) pour fournir un accès aux applications compatibles POSIX. La norme définit également un interpréteur de commandes (shell) et des programmes utilitaires communs. POSIX prend en charge la pPortabilité des applications au niveau du code source afin que les applications puissent être créées pour s'exécuter sur n'importe quel système d'exploitation compatible POSIX.

Un bref historique de la norme POSIX

Les interfaces POSIX ont été initialement développées sous les auspices de IEEE . Cependant, la norme POSIX est actuellement en cours de développement et de maintenance par le Austin Common Standards Revision Group, communément appelé Groupe Austin .

L'Austin Group est un groupe de travail conjoint composé de membres de l'IEEE, de l'Open Group et du Comité technique conjoint 1 de l'Organisation internationale de normalisation ( ISO ) et de la Commission Electrotechnique Internationale (CEI). IEEE est propriétaire de la marque POSIX. L'Open Group, propriétaire de la marque Unix, est un consortium mondial qui développe des normes technologiques.

POSIX est né du besoin de rendre les applications plus portables sur différents systèmes. Au début de l'informatique, les programmeurs devaient réécrire leurs applications pour chaque modèle d'ordinateur et de système d'exploitation. Cela a commencé à changer lorsque IBM a présenté sa gamme d'ordinateurs System/360, qui pouvaient tous exécuter le même système d'exploitation, OS/360. Avec ces nouveaux systèmes, les applications pourraient être rendues plus portables, ce qui permettrait d'économiser énormément de temps de développement.

Quand UNIX est né, à peu près au même moment, il était également prometteur en ce sens qu'il pouvait fonctionner sur des machines de différents fabricants. Cependant, alors qu'UNIX a commencé à créer différentes versions, le portage du code entre ces variantes UNIX est devenu difficile. La promesse de portabilité UNIX perdait du terrain.

Pour résoudre ce problème de portabilité, POSIX a été formé dans les années 80. La norme était basée sur System V UNIX et BSD UNIX d'AT&T, les deux plus grandes variantes à l'époque. Il est important de noter que POSIX n'a ​​pas été conçu pour contrôler la manière dont les systèmes d'exploitation étaient construits : toute entreprise était libre de concevoir sa propre variante UNIX comme bon lui semblait. POSIX ne concernait que la manière dont une application s'interface avec le système d'exploitation. En langage programmeur, une interface est la méthode par laquelle le code d'un programme peut communiquer avec un autre programme. L'interface s'attend à ce que le programme A fournisse un type spécifique d'informations au programme B. De même, le programme A s'attend à ce que le programme B réponde avec un type spécifique de données.

 

AT&T UNIX

Qu'est-ce que la norme POSIX ?

En un mot : portabilité.

Il y a plus de 60 ans, les programmeurs devaient réécrire complètement le code s'ils voulaient que leur logiciel fonctionne sur plus d'un système. Cela ne s'est pas produit très souvent en raison des dépenses impliquées, mais la portabilité est devenue une fonctionnalité au milieu des années 60, non pas via POSIX, mais dans le domaine du mainframe.

Au fil des ans, la spécification POSIX a continué d'être révisée et réorganisée. À un moment donné, chaque norme était officieusement appelée POSIX, suivie d'une décimale, puis du numéro de norme. Par exemple, POSIX.1 était la norme pour une interface de programmation d'application dans le langage C et POSIX.2 était le shell standard et l'interface utilitaire du système d'exploitation. Ces normes ont été officiellement désignées respectivement par IEEE Std 1003.1 et IEEE Std 1003.2.

Il y a également eu des amendements à la norme de base, comme IEEE Std 1003.1b-1993, qui traitait des extensions en temps réel. Cependant, toutes les différentes spécifications ont été fusionnées en une seule norme, Norme IEEE 1003.1 , qui a été mis à jour pour la dernière fois en 2017 et publié en 2018. Officiellement, il s'appelle IEEE Std 1003.1-2017. Cependant, il est également appelé POSIX.1-2017 ou, de manière plus informelle, POSIX.1.

La norme POSIX porte également d'autres noms. L'Open Group l'appelle The Open Group Base Specifications Issue 7, édition 2018, et l'ISO/IEC l'appelle ISO/IEC 9945:2009. L'ISO/CEI a adopté la norme en 2009 et a ajouté le corrigendum technique 1 fin 2012 et le corrigendum technique 2 en mars 2017, le mettant à égalité avec IEEE Std 1003.1-2017.

La spécification POSIX.1-2017 définit les services de base nécessaires pour créer des applications conformes à POSIX. Ils établissent une sémantique et une syntaxe standard pour aider les développeurs à écrire des applications portables. POSIX.1 se compose des quatre volumes suivants :

  1. Définitions basiques. Fournit des définitions communes pour la spécification, y compris les termes, les concepts, la syntaxe, les fonctions de service et les informations de ligne de commande
  2. Interfaces système. Fournit des détails sur les termes et concepts d'interface et définit les interfaces fonctionnelles disponibles pour les applications qui accèdent aux systèmes compatibles POSIX.
  3. Coques et utilitaires. Décrit les commandes et les utilitaires disponibles pour les applications qui accèdent aux systèmes compatibles POSIX, y compris le langage de commande utilisé sur ces systèmes.
  4. Raisonnement. Inclut des informations historiques sur le contenu de la norme et pourquoi certaines fonctionnalités ont été ajoutées ou supprimées.

POSIX.1 adopte une approche « écrire une fois, adopter partout » de la spécification en fournissant un certain nombre de services de base nécessaires pour créer des applications de manière efficace. La norme met l'accent sur les structures et les fonctionnalités qui sont importantes pour le développement d'applications, plutôt que de se concentrer sur les techniques nécessaires pour atteindre ces capacités. La norme POSIX est conçue pour être utilisée à la fois par les intégrateurs système, les ingénieurs système et les développeurs d'applications.

En conclusion

La norme POSIX permet aux développeurs de créer des applications, des outils et des plates-formes sur de nombreux systèmes d'exploitation en utilisant une grande partie du même code. Ce n'est pas du tout une exigence d'écrire du code selon la norme, mais cela aide considérablement lorsque vous souhaitez porter votre code sur d'autres systèmes.

Fondamentalement, POSIX est destiné aux concepteurs de systèmes d'exploitation et aux développeurs de logiciels, mais en tant qu'utilisateurs d'un système, nous sommes influencés par POSIX, que nous le réalisions ou non. C'est grâce à la norme que nous sommes capables de travailler sur un système UNIX ou Linux et de transférer ce travail sur un autre système et d'y travailler sans accroc. En tant qu'utilisateurs, nous bénéficions de nombreux avantages en termes de convivialité et de réutilisation des données entre les systèmes.

 

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Facebook, Inc. détient les droits sur Facebook® ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

Retour en haut de page