O que é o POSIX?
A interface do sistema operacional portátil para ambientes de computação (POSIX®) é um conjunto de padrões e especificações que definem maneiras de os programas de computador interagirem com um sistema operacional. Os aplicativos que estão em conformidade com esses padrões podem ser transportados com mais facilidade para outras plataformas que também suportam as especificações. Essas especificações foram adotadas oficialmente internacionalmente e exigidas por alguns clientes especiais nos campos do governo, defesa e aeroespacial. Existem diferentes níveis de conformidade com a família de padrões, que foram fortemente influenciados pelo design da plataforma UNIX®.
Houve muitas tentativas para aliviar as dificuldades do desenvolvimento de software para mais de uma plataforma de computador. As diferenças no design do sistema operacional, nas linguagens de programas disponíveis e no hardware criam problemas de compatibilidade que não são facilmente superados. Há muitas opiniões diferentes sobre a melhor maneira de enfrentar os desafios da computação entre plataformas. O POSIX® adota uma abordagem baseada em regras que governa como os aplicativos interagem com sua plataforma subjacente, além de exigir a inclusão de alguns utilitários. Essas regras se aplicam a aplicativos e sistemas operacionais e fornecem uma maneira padrão de comunicação entre os dois.
O objetivo do POSIX® é fornecer algo conhecido como portabilidade do código-fonte. O código-fonte, a versão legível por humanos de um programa de computador usado para criar aplicativos, é "compilado" em um código de máquina que pode ser entendido pelos microprocessadores em todos os computadores. Processadores diferentes contêm tipos diferentes de código de máquina; isso significa que um programa não deve ser apenas escrito com um sistema operacional em mente, mas com o hardware específico no qual o programa será executado. A portabilidade do código fonte significa que o código fonte de um programa pode ser compilado para diferentes plataformas com pouco ou nenhum esforço, tornando mais eficiente reutilizar o código existente do que recriar o programa a partir do zero.
Muitas organizações grandes que compram uma ampla variedade de hardware e software passaram a ver a família de padrões POSIX® como um recurso importante ou mesmo essencial para os produtos que adquirem. O Instituto de Engenheiros Elétricos e Eletrônicos (IEEE), a Organização Internacional de Padronização (ISO) e a Comissão Eletrotécnica Internacional (IEC) endossaram os padrões POSIX® como IEEE 1003 e ISO / IEC 9945. Essa adoção internacional tornou os padrões populares com clientes do governo. Alguns clientes militares e aeroespaciais exigem os padrões para facilitar a adaptação de aplicativos às plataformas especializadas de computação usadas nesses campos. A Marinha dos EUA, por exemplo, incorporou os padrões ao seu Open Architecture Computing Environment, uma iniciativa que visa manter a interoperabilidade no software que alimenta navios de guerra, veículos aéreos não tripulados e submersíveis.
O POSIX® é uma família de padrões relacionados, em vez de uma única especificação. Alguns são bem suportados, enquanto outros não. Também existem diferentes níveis de suporte, com produtos de software "em conformidade" que cumprem estritamente os padrões e produtos "compatíveis" que suportam apenas alguns deles. Muitas das especificações POSIX® foram baseadas nos sistemas operacionais UNIX®, portanto, várias plataformas UNIX® e UNIX® suportam os padrões imediatamente. Algumas outras plataformas suportam o IEEE 1003 através do uso de software adicional.