Single UNIX Specification
Single UNIX Specification, SUS, ou Especificação Única do Unix, em português, é um conjunto de padrões que definem o sistema operacional Unix. A SUS é desenvolvida e mantida pelo Austin Group a partir do trabalho desenvolvido anteriormente pelas organizações IEEE e The Open Group.
História
[editar | editar código-fonte]A SUS surgiu em meados da década de 80 a partir de um projeto para padronizar as interfaces dos softwares desenvolvidos para diferentes versões do sistema operacional Unix. A padronização surgiu da necessidade das corporações de desenvolver programas de computador que pudessem ser utilizados em sistemas computacionais de diferentes fornecedores sem que precisassem ser reescritos. Neste momento foi criado o padrão "IEEE 1003" (também registrado como ISO/IEC 9945), ou POSIX, um acrônimo de Portable Operating System Interface for Unix (Interface de sistema operacional portável para Unix).[1]
No final da década de 80, em paralelo com o desenvolvimento do POSIX, o consórcio X/Open desenvolvia os "guias de portabilidade" ou XPGs (X/Open Portability Guides). A partir de 1990 este trabalho incorporou e estendeu os padrões POSIX.[1]
No início da década de 90, em um esforço independente, uma aliança de nome COSE foi criada por vários dos principais fornecedores do Unix da época. A aliança criou a especificação Common API Specification (ou Spec 1170), a partir das especificações XPG[2], com o objetivo de padronizar diferentes versões do Unix e terminar com as chamadas guerras do Unix. Esta especificação se tornou popular por ser livre, enquanto o IEEE cobrava um valor razoável pela especificação POSIX, e ficou conhecida como Single UNIX Specification. Em 1998 um grupo de trabalho conhecido como Austin Group iniciou o desenvolvimento de um padrão que, após o seu lançamento pelo The Open Group em 2001, ficou conhecido como Single UNIX Specification Version 3. Esta especificação unificou as diferentes visões da API do Unix.[1]
A especificação
[editar | editar código-fonte]As interfaces do sistema operacional para usuário e software são definidas em quatro seções principais:
- Definições básicas — Uma lista de definições e convenções utilizadas nas especificações e um conjunto de arquivos de cabeçalho da linguagem C que devem ser disponibilizadas pelos sistemas compatíveis;
- Shell e programas utilitários — Uma lista de programas utilitários e uma descrição da shell do sistema, o sh;
- Interfaces de sistema — Uma lista de chamadas de sistemas na linguagem C que devem ser disponibilizadas;
- Rationale — Uma explanação das motivações do padrão.
Dentre os programas utilitários encontram-se: o awk, echo, ed e muitos outros. Também são definidos serviços em nível de aplicação para suporte de: entrada/saída, arquivo, terminal e rede de computadores. O padrão também contém um conjunto de ferramentas de teste chamada de PCTS (Posix Certification Test Suite).
É importante notar que a especificação não obriga que um sistema possua código fonte derivado do Unix da AT&T. Por exemplo, o sistema OS/390 da IBM, sucedido pelo z/OS, é qualificado como um sistema Unix apesar de não possuir tal código.
Rótulos para sistemas compatíveis
[editar | editar código-fonte]Existem dois rótulos oficiais para sistemas em conformidade com a especificação:
- UNIX 98 — Para sistemas em conformidade com a versão 2 da SUS;
- UNIX 03 — Para sistemas em conformidade com a versão 3 da SUS.
Os padrões UNIX93 e UNIX95 são padrões antigos.
Compatibilidade
[editar | editar código-fonte]Solaris
[editar | editar código-fonte]O sistema operacional Solaris versão 10 é compatível com a especificação UNIX 03 em sistemas de 32 bit e 64 bit em x86 e em sistemas SPARC. As versões 8 e 9 do Solaris são compatíveis com a especificação UNIX 98 nas mesmas plataformas, com exceção dos sistemas de 64 bit na plataforma x86.
AIX
[editar | editar código-fonte]O AIX 5L V5.2 com algumas atualizações, e o AIX 5L V5.3, são compatíveis com a especificação UNIX 03. A versão AIX 5L V5.2 é compatível com a UNIX 98.
HP/UX
[editar | editar código-fonte]O sistema HP-UX versão "11i V3 Release B.11.31" é compatível com a especificação UNIX 03. As versões anteriores são compatíveis com a UNIX 95.
Tru64 UNIX
[editar | editar código-fonte]O Tru64 UNIX V5.1A, assim como os posteriores, é compatível com a especificação UNIX 98.
SCO
[editar | editar código-fonte]O UnixWare 7.1.3 é compatível com a especificação UNIX 95 e o SCO OpenServer 5 com a especificação UNIX 93.
Outros sistemas proprietários
[editar | editar código-fonte]Outros sistemas operacionais registrados como compatíveis com as especificações UNIX 95 ou UNIX 93:
Linux
[editar | editar código-fonte]O GNU/Linux foi desenvolvido para ser o mais próximo possível da especificação POSIX mas, até agora, apenas uma distribuição obteve a certificação, o Linux-FT.[3][4][5]
BSD
[editar | editar código-fonte]Nenhum dos sistemas BSD disponíveis livremente foi registrado como compatível com a SUS. O FreeBSD desenvolve um projeto chamado "C99 and POSIX Conformance Project" cujo objetivo é dar total compatibilidade com a POSIX.[6]
O Darwin, o sistema BSD que é a base do Mac OS X, é compatível com a SUS versão 3.[7]
Ver também
[editar | editar código-fonte]- Guerras do Unix
- Native POSIX Thread Library — uma implementação para o Linux da biblioteca de threads da especificação POSIX
- Manual do UNIX
- Sistema aberto
- Padrão aberto
Referências
- ↑ a b c Eric Steven Raymond (2003). The Art of Unix Programming. Estados Unidos da América: Addison-Wesley. ISBN 0131429019
- ↑ Peter Seebach. «Standards and specs: Not by UNIX alone» (em inglês). Consultado em 30 de maio de 2007
- ↑ Heiko Eissfeldt, Linux Journal. «Certifying Linux» (em inglês). Consultado em 3 de abril de 2007.
Certifying Linux to POSIX 1.1.
- ↑ Debian. «Chapter 3 - Compatibility issues». The Debian GNU/Linux FAQ (em inglês). Consultado em 3 de abril de 2007.
How source code compatible is Debian with other Unix systems?
- ↑ Ian Nandrha, Lasermoon Ltd. «A Historic Development for Linux» (em inglês). Consultado em 3 de abril de 2007.
A certificação da distribuição Linux-FT
- ↑ FreeBSD. «FreeBSD C99 and POSIX® Conformance Project» (em inglês). Consultado em 1 de fevereiro de 2009. Arquivado do original em 23 de dezembro de 2013.
The FreeBSD C99 & POSIX® Conformance Project aims to implement all requirements of the ISO 9899:1999 (C99) and IEEE 1003.1-2001 (POSIX) standards.
- ↑ Apple Inc. «UNIX 03 Conformance Release Notes». Release Notes (em inglês). Consultado em 1 de fevereiro de 2009.
Apple has made a significant effort in Mac OS X v.10.5 to support the Single UNIX Specification Version 3 (SUSv3).
Ligações externas
[editar | editar código-fonte]- (em inglês) Single UNIX Specification Frequently — Perguntas freqüentes
- (em inglês) The Single UNIX Specification
- (em inglês) Texto da Single UNIX Specification, Versão 3
- (em inglês) The Portable Application Standards Committee
- (em inglês) Registro de produtos certificados para o UNIX e outras marcas do The Open Group
- (em inglês) IETF and the RFC Standards Process — Unix Standards