Le Portable Operating System Interface pour les environnements informatiques (POSIX ) est un ensemble de normes et de spécifications qui définissent des moyens pour les programmes informatiques d'interagir avec un système d'exploitation. Les demandes qui sont conformes à ces normes peuvent plus facilement être portées sur d'autres plateformes qui supportent également les spécifications. Ces spécifications ont été officiellement adoptées au niveau international et sont devenus requis par certains clients particuliers au sein du gouvernement, de la défense et de l'aéronautique. Il existe différents niveaux de conformité aux normes de la famille, qui ont été fortement influencés par la conception de la plate-forme UNIX.
Il y a eu de nombreuses tentatives pour atténuer les difficultés de développement de logiciels pour plus d'une plate-forme informatique. Les différences dans la conception des systèmes d'exploitation, langages de programmes disponibles, et le matériel de créer des problèmes de compatibilité qui ne sont pas faciles à surmonter. Il ya beaucoup d'opinions différentes sur la meilleure façon de relever les défis de croix-plate-forme informatique. POSIX adopte une approche fondée sur des règles qui régissent la façon dont les applications interagissent avec leur plate-forme sous-jacente, ainsi que rendre obligatoire l'inclusion de quelques utilitaires. Ces règles s'appliquent à la fois aux applications et systèmes d'exploitation, et de fournir un moyen standard pour la communication puisse avoir lieu entre les deux.
Le but de POSIX est d'offrir quelque chose de connu comme la portabilité du code source. Le code source, la version lisible par un humain d'un programme informatique utilisé pour créer des applications, est "compilé" en code machine qui peut être comprise par les microprocesseurs à l'intérieur de tous les ordinateurs. Différents processeurs contiennent différents types de code machine, ce qui signifie que le programme ne doit pas seulement être écrit avec un système d'exploitation à l'esprit, mais avec du matériel particulier sur lequel le programme sera exécuté. Portabilité du code source signifie que le code source d'un programme peut être compilé pour différentes plates-formes avec peu d'effort ou pas, le rendant plus efficace de réutiliser du code existant que de recréer le programme à partir de zéro.
Beaucoup de grandes organisations qui achètent une grande variété de matériel et de logiciel sont venus à considérer la famille POSIX de normes comme un élément important, voire essentiel, pour les produits qu'ils achètent. L'Institute of Electrical and Electronics Engineers (IEEE), Organisation internationale de normalisation (ISO) et la Commission électrotechnique internationale (CEI) ont approuvé les normes POSIX IEEE 1003 et l'ISO / CEI 9945. L'adoption internationale a fait les normes populaires auprès des clients du secteur public. Certains clients militaires et aérospatiaux exigent les normes afin de rendre plus facile à adapter les applications aux plates-formes informatiques spécialisés utilisés dans ces domaines. L'US Navy, par exemple, a intégré les normes dans son environnement d'architecture informatique ouverte, une initiative qui vise à maintenir l'interopérabilité dans le logiciel que les navires de guerre des puissances, des drones et engins submersibles.
POSIX est une famille de normes connexes plutôt que d'une seule spécification. Certains sont bien pris en charge tandis que d'autres ne sont pas. Il existe également différents niveaux de soutien, avec des produits «conformes» du logiciel en respectant strictement les normes et les produits «conformes» soutenant que certains d'entre eux. La plupart des spécifications POSIX ont été basées sur les systèmes UNIX d'exploitation, de sorte qu'un certain nombre de UNIX et UNIX telles que les plates-formes de soutenir les normes de la boîte. Certains autres plates-formes charge la norme IEEE 1003 grâce à l'utilisation d'un logiciel supplémentaire.