L'interface du système d'exploitation portable (POSIX) est une norme IEEE qui aide à la compatibilité et à la portabilité entre les systèmes d'exploitation. Théoriquement, le code source conforme à POSIX devrait être transportable. Dans le monde réel, la transition des applications se présente souvent à des problèmes spécifiques au système. Mais la conformité POSIX rend plus simple aux applications de port qui peuvent entraîner des économies de temps. Les développeurs devraient donc se familiariser avec les principes fondamentaux de cette norme largement utilisée.
HISTOIRE DE POSIX
Les premiers programmeurs ont dû réécrire leurs applications à partir de zéro pour chaque nouveau modèle informatique. Mais le système IBM / 360 a changé. En 1964, il a introduit le système d'exploitation OS / 360. IBM a commencé à utiliser la même architecture matérielle pour permettre aux nouveaux modèles de réutiliser le même système d'exploitation. La présence d'un système d'exploitation commun sur plusieurs machines a mis en place la première étape pour la portabilité des applications.
À la fin des années 1960, l'arrivée d'Unix a ouvert de nouvelles possibilités. Bell Labs d'AT&T était responsable du développement initial de ce nouveau système d'exploitation. Il pourrait traverser des machines à partir de plusieurs fournisseurs. Mais Unix a commencé à se propager dans diverses saveurs. Outre le System V's AT&T, il y avait la distribution de logiciels Berkeley (BSD), Xenix et plus. Il n'était pas facile de porter à travers ces saveurs. La promesse de portabilité des applications a frappé une bosse de route. Au cours des prochaines décennies, l'introduction de nouveaux systèmes d'exploitation ne ferait que le rendre plus complexe pour les applications de port sur le matériel, les systèmes d'exploitation et les fournisseurs.
POSIX Standard a été développé dans les années 1980 pour résoudre le problème de la portabilité. La norme a été définie sur la base du système V et BSD Unix. POSIX ne définit pas le système d'exploitation, il définit uniquement l'interface entre une application et un système d'exploitation. Les programmeurs ont la liberté d'écrire leur système d'exploitation et leur application de toute façon qu'ils veulent tant que l'interface entre les deux est honorée. Parce que POSIX est indépendant du matériel, du système d'exploitation ou du fournisseur, il est plus facile d'atteindre la portabilité des applications.
La première norme POSIX est publiée en 1988. Formellement, il s'appelait IEEE Standard 1003.1-1988 Interface du système d'exploitation portable pour les environnements informatiques ». En 1990, une version internationale de la même norme avec de légères variations a été publiée en tant qu'ISO / IEC 9945-1: 1990 Technologies de l'information - Interface du système d'exploitation portable (POSIX) - Partie 1: Interface du programme d'application système (API).
Initialement, POSIX a été divisé en plusieurs normes:
Posix.1: Les services de base
Posix.1B: Extensions en temps réel
Posix.1C: Extensions de fils
Posix.2: Coquille et services publics
Après 1997, le groupe Austin a apporté toute la norme sous un seul parapluie. Depuis lors, les versions posix.1-2001 (également connu sous le nom de IEEE STD 1003.1-2001), POSIX.1-2004 (également connu sous le nom de IEEE STD 1003.1-2004) et POSIX.1-2008 (également connu sous le nom de IEEE STD 1003.1-2008) ont été publiés.
Des exemples de certains systèmes conformes à POSIX sont AIX, HP-UX, Solaris et MacOS (depuis 10.5 Léopard). D'un autre côté, Android, FreeBSD, Linux Distributions, OpenBSD, VMware, etc., Suivez la majeure partie de la norme POSIX, mais ils ne sont pas certifiés.
Bases de POSIX
Posix.1-2008 Offres standard avec quatre domaines principaux:
La norme ne couvre pas les interfaces graphiques, les interfaces de base de données, la portabilité du code objet / binaire, les configurations système, les considérations d'E / S ou la disponibilité des ressources.
Certains des principes directeurs de la conception de POSIX sont:
Développement d'application POSIX
Le but de POSIX était d'améliorer la portabilité. Lorsque votre code source suit la norme, vous pouvez compiler et exécuter facilement le code sur une autre machine. Cependant, si POSIX est défini comme une exigence générale pour une application, elle peut provoquer une confusion. La norme POSIX complète est de plus de 4000 pages avec plus de 1350 interfaces. Cela n'a pas de sens de tout mettre en œuvre. Ainsi, chaque projet doit définir les aspects de POSIX qui répondront aux exigences particulières.
Il y a des idées fausses dans la communauté du développement que la norme POSIX est ancienne et non pertinente. Ce n'est pas vrai. POSIX est un document vivant qui est régulièrement mis à jour par le groupe Austin. Tout le monde peut rejoindre le groupe et participer à l'amélioration de la norme. La norme est utilisée activement dans les serveurs, les postes de travail d'aujourd'hui, les routeurs, les appareils mobiles, les systèmes intégrés et plus. Il est utilisé pour les machines Unix et Linux.
Cependant, les développeurs doivent être conscients que la norme POSIX a des problèmes. Vous pouvez signaler tout bug que vous découvrez au groupe Austin et il sera examiné pour la prochaine révision.
Conclusion
Posix peut sembler intimidant au début. Pourtant, les développeurs d'applications devraient se familiariser avec les bases car il apparaîtra de temps à autre comme une exigence. En raison de la portée importante de la norme, il n'est pas possible de devenir un expert du document complet. Les développeurs peuvent atteindre les communautés Unix et Linux pour en savoir plus. Les communautés peuvent répondre à vos questions et vous donner une meilleure idée de la partie de la norme sera pertinente pour votre projet.
Une étude plus approfondie: