A interface do sistema operacional portátil (POSIX) é um padrão IEEE que ajuda a compatibilidade e portabilidade entre os sistemas operacionais. Teoricamente, o código -fonte compatível com Posix deve ser perfeitamente portátil. No mundo real, a transição de aplicativo geralmente se depara com problemas específicos do sistema. Mas a conformidade do POSIX torna mais simples para os aplicativos portados que podem resultar em economia de tempo. Portanto, os desenvolvedores devem se familiarizar com os fundamentos desse padrão amplamente utilizado.
História de Posix
Os primeiros programadores tiveram que reescrever seus aplicativos do zero para cada novo modelo de computador. Mas o sistema IBM/360 mudou que. Em 1964, introduziu o sistema operacional OS/360. A IBM começou a usar a mesma arquitetura de hardware para permitir que os novos modelos reutilizem o mesmo sistema operacional. A presença de um sistema operacional comum em várias máquinas estabeleceu o primeiro estágio para portabilidade de aplicação.
No final dos anos 1960, a chegada do Unix abriu novas possibilidades. A Bell Labs da AT&T foi responsável pelo desenvolvimento inicial deste novo sistema operacional. Poderia ser encontrado através de máquinas de vários fornecedores. Mas o Unix começou a gastar em vários sabores. Além do sistema V da AT&T, havia Berkeley Software Distribution (BSD), Xenix e mais. Não foi fácil portar por esses sabores. A promessa de portabilidade de aplicação atingiu uma colisão de estrada. Nas próximas décadas, a introdução de novos sistemas operacionais só tornaria mais complexo para aplicações portuárias em hardware, sistemas operacionais e fornecedores.
O Posix Standard foi desenvolvido na década de 1980 para resolver o problema de portabilidade. O padrão foi definido com base no sistema V e BSD Unix. Posix não define o sistema operacional, ele define apenas a interface entre um aplicativo e um sistema operacional. Os programadores têm a liberdade de escrever seu sistema operacional e aplicação de qualquer maneira que quiserem, desde que a interface entre os dois seja homenageada. Como Posix é independente do hardware, sistema operacional ou fornecedor, é mais fácil obter portabilidade de aplicativos.
O primeiro Posix Standard foi lançado em 1988. Formalmente, foi chamado IEEE Standard 1003.1-1988 Interface do sistema operacional portátil para ambientes de computador ”. Em 1990, uma versão internacional do mesmo padrão com pequenas variações foi lançada como ISO/IEC 9945-1: 1990 Tecnologia da informação - Interface do sistema operacional portátil (POSIX) - Parte 1: API (System Application Program Interface).
Inicialmente, Posix foi dividido em vários padrões:
Posix.1: Serviços essenciais
Posix.1b: Extensões em tempo real
Posix.1C: Extensões de threads
Posix.2: Conchas e utilitários
Depois de 1997, o grupo Austin trouxe todo o padrão sob um único guarda -chuva. Desde então, as versões posix.1-2001 (também conhecido como IEEE STD 1003.1-2001), Posix.1-2004 (também conhecido como IEEE STD 1003.1-2004) e POSIX.1-2008 (também conhecido como IEEE STD 1003.1-2008) foram lançados.
Exemplos de alguns sistemas compatíveis com Posix são AIX, HP-UX, Solaris e MacOS (desde 10.5 Leopard). Por outro lado, Android, FreeBSD, Distribuições Linux, OpenBSD, VMware, etc., Siga a maior parte do padrão POSIX, mas eles não são certificados.
Noções básicas de Posix
Posix.1-2008 Standard lida com quatro áreas principais:
O padrão não cobre interfaces gráficas, interfaces de banco de dados, portabilidade de objeto/código binário, configurações do sistema, considerações de E/S ou disponibilidade de recursos.
Alguns dos princípios orientadores por trás do design do Posix são:
Desenvolvimento de aplicativos POSIX
O objetivo do POSIX era melhorar a portabilidade. Quando seu código -fonte segue o padrão, você pode compilar e executar o código em uma máquina diferente facilmente. No entanto, se o POSIX for definido como um requisito geral para uma aplicação, pode causar confusão. O padrão POSIX completo é de mais de 4000 páginas com mais de 1350 interfaces. Não faz sentido implementar tudo. Portanto, cada projeto deve definir os aspectos do POSIX que atenderão aos requisitos específicos.
Existem conceitos errôneos na comunidade de desenvolvimento que o padrão POSIX é antigo e irrelevante. Não é verdade. Posix é um documento vivo que está sendo atualizado regularmente pelo grupo Austin. Qualquer um pode ingressar no grupo e participar da melhoria do padrão. O padrão é usado ativamente nos servidores de hoje, estações de trabalho, roteadores, dispositivos móveis, sistemas incorporados e muito mais. É usado para máquinas Unix e Linux.
No entanto, os desenvolvedores devem estar cientes de que o Posix Standard tem problemas. Você pode relatar qualquer bug que descobrir ao grupo de Austin e ele será analisado para a próxima revisão.
Conclusão
Posix pode parecer assustador no começo. Ainda assim, os desenvolvedores de aplicativos devem se familiarizar com o básico, pois ele aparecerá como um requisito de tempos em tempos. Devido ao grande escopo do padrão, não é possível se tornar um especialista no documento completo. Os desenvolvedores podem alcançar as comunidades UNIX e Linux para aprender mais. As comunidades podem responder suas perguntas e dar uma noção melhor de que parte do padrão será relevante para o seu projeto.
Um estudo mais aprofundado: