Especificação UNIX Única - Single UNIX Specification

A Single UNIX Specification ( SUS ) é o nome coletivo de uma família de padrões para sistemas operacionais de computador , cuja conformidade é necessária para se qualificar para usar a marca " UNIX ". As especificações básicas do SUS são desenvolvidas e mantidas pelo Austin Group , que é um grupo de trabalho conjunto do IEEE , ISO JTC 1 SC22 e The Open Group . Se um sistema operacional for submetido ao The Open Group para certificação e passar nos testes de conformidade, ele será considerado compatível com um padrão UNIX, como UNIX 98 ou UNIX 03.

Muito poucos sistemas operacionais baseados em BSD e Linux são submetidos para conformidade com a Especificação Única do UNIX, embora os desenvolvedores de sistema geralmente visem a conformidade com os padrões POSIX , que formam o núcleo da Especificação Única do UNIX.

História

1980: Motivação

O SUS surgiu de um projeto de meados da década de 1980 para padronizar interfaces de sistema operacional para software projetado para variantes do sistema operacional Unix. A necessidade de padronização surgiu porque as empresas que usam computadores queriam ser capazes de desenvolver programas que pudessem ser usados ​​nos sistemas de computador de diferentes fabricantes sem reimplementar os programas. O Unix foi selecionado como base para uma interface de sistema padrão, em parte porque era neutro em relação ao fabricante.

1988: POSIX

Em 1988, esses padrões se tornaram IEEE 1003 (também registrado como ISO / IEC 9945 ) ou POSIX , que significa Portable Operating System Interface .

1990: Spec 1170

No início da década de 1990, um esforço separado conhecido como Common API Specification ou Spec 1170 foi iniciado por vários fornecedores importantes, que formaram a aliança COSE após as guerras do Unix . Essa especificação se tornou mais popular porque estava disponível sem custo, enquanto o IEEE cobrava uma taxa substancial para acessar a especificação POSIX. O gerenciamento dessas especificações foi atribuído ao X / Open, que também recebeu a marca comercial Unix da Novell em 1993. Unix International (UI) fundiu-se com a Open Software Foundation (OSF) em 1994 apenas para se fundir com o X / Open para formar o The Open Group em 1996 .

1994: Especificação Única do UNIX

Este foi um reempacotamento do X / Open Portability Guide (XPG), Issue 4, Version 2.

Edição de 1995

Em 1995, o Open Group lançou a Single UNIX Specification Version 1, 1995 Edition .

Esta especificação consistia em:

  • Definições de interface do sistema, edição 4, versão 2,
  • Interfaces e cabeçalhos do sistema, edição 4, versão 2,
  • Comandos e utilitários, edição 4, versão 2,
  • X / Open Curses, Issue 4 Version 2,
  • Serviços de rede, edição 4,

e estava no cerne da marca UNIX 95.

1997: Especificação Única do UNIX versão 2

Em 1997, o Open Group lançou a Single UNIX Specification Version 2 .

Esta especificação consistia em:

  • as definições básicas, edição 5,
  • as interfaces e cabeçalhos do sistema, edição 5,
  • os comandos e utilitários, edição 5,
  • os serviços de rede, edição 5,
  • the X / Open Curses, Issue 4, Version 2,

e estava no cerne da marca UNIX 98.

2001: Especificação Única UNIX versão 3, POSIX: 2001

A partir de 1998, um grupo de trabalho conjunto conhecido como Austin Group começou a desenvolver o padrão combinado que seria conhecido como Single UNIX Specification Version 3 e como POSIX: 2001 (formalmente: IEEE Std 1003.1-2001). Foi lançado em 30 de janeiro de 2002.

Este padrão consistia em:

  • as definições básicas, edição 6,
  • as interfaces e cabeçalhos do sistema, edição 6,
  • os comandos e utilitários, edição 6,

e está no cerne da marca UNIX 03.

2004: POSIX: 2004

Em 2004, uma nova edição do padrão POSIX: 2001 foi lançada, incorporando duas corrigendas técnicas. É denominado POSIX: 2004 (formalmente: IEEE Std 1003.1-2004).

2008: Especificação Única UNIX versão 4, POSIX: 2008

Em dezembro de 2008, o Austin Group publicou uma nova revisão principal, conhecida como POSIX: 2008 (formalmente: IEEE Std 1003.1-2008). Este é o núcleo da Especificação Única do UNIX, Versão 4 (SUSv4).

Este padrão consiste em:

  • as definições básicas, edição 7,
  • as interfaces e cabeçalhos do sistema, edição 7,
  • os comandos e utilitários, edição 7.

Edição 2013

A Corrigenda Técnica 1 visa principalmente a internacionalização e apresenta um modelo de acesso baseado em funções. Foi publicado em 2012 para a especificação Unix Base e está registrado como a edição 2013 do POSIX 2008. Uma marca comercial UNIX V7 (não deve ser confundida com V7 UNIX , a versão do Research Unix de 1979) foi criada para marcar a conformidade com SUS Versão 4.

Edição 2016

A Corrigenda Técnica 2 foi publicada em setembro de 2016, levando à IEEE Std 1003.1-2008, Edição 2016 e Especificação Única do UNIX, Versão 4, Edição 2016 .

Edição 2018

Em janeiro de 2018, uma edição de "rollup administrativo", susv4-2018, foi lançada. Ele incorpora a Single UNIX Specification versão 4 TC1 e TC2 e é tecnicamente idêntico à edição de 2016.

Especificação

SUSv3 totaliza cerca de 3700 páginas, que são divididas em quatro partes principais:

  • Definições de base (XBD) - uma lista de definições e convenções usadas nas especificações e uma lista de arquivos de cabeçalho C que devem ser fornecidos por sistemas compatíveis. 84 arquivos de cabeçalho no total são fornecidos.
  • Shell e Utilitários (XCU) - uma lista de utilitários e uma descrição do shell, sh . 160 utilitários no total são especificados.
  • System Interfaces (XSH) - contém a especificação de várias funções que são implementadas como chamadas de sistema ou funções de biblioteca . 1123 interfaces de sistema no total são especificadas.
  • Racional (XRAT) - a explicação por trás do padrão.

A linha de comando padrão do usuário e a interface de script é o shell POSIX , uma extensão do Bourne Shell baseada em uma versão anterior do Korn Shell . Outros programas, serviços e utilitários em nível de usuário incluem awk , echo , ed , vi e centenas de outros. Os serviços de nível de programa necessários incluem serviços básicos de E / S ( arquivo , terminal e rede ). Um conjunto de testes acompanha o padrão. É denominado PCTS ou POSIX Certification Test Suite .

Além disso, inclui SUS MALDIÇÕES (XCURSES) especificação, que especifica 372 funções e 3 arquivos de cabeçalho. Ao todo, SUSv3 especifica 1742 interfaces.

Observe que um sistema não precisa incluir código-fonte derivado de nenhuma forma da AT&T Unix para atender às especificações. Por exemplo, IBM OS / 390 , agora z / OS , se qualifica como "Unix" apesar de não ter nenhum código em comum.

Marcas para sistemas compatíveis

Existem cinco marcas oficiais para sistemas em conformidade:

  • UNIX 93
  • UNIX 95 - a marca para sistemas em conformidade com a versão 1 do SUS
  • UNIX 98 - a marca para sistemas em conformidade com a versão 2 do SUS
  • UNIX 03 - a marca para sistemas em conformidade com a versão 3 do SUS
  • UNIX V7 - a marca para sistemas em conformidade com a versão 4 do SUS (incluindo Corrigenda)

Conformidade

produtos Fornecedor Arquitetura UNIX V7 UNIX 03 UNIX 98 UNIX 95 UNIX 93
AIX IBM Corporation Processadores POWER sim sim Não Não Não
FTX Cemprus LLC PA-RISC Não Não Não Não sim
EulerOS Huawei x86-64 Não sim Não Não Não
HP-UX Hewlett Packard Enterprise IA-64 , PA-RISC Não sim Não sim Não
macOS (antigo OS X) maçã x86-64 , ARM64 Não sim Não Não Não
OpenServer Xinuos IA-32 Não Não Não Não sim
UnixWare Xinuos IA-32 Não Não Não sim Não
z / OS IBM Corporation z / Arquitetura Não Não Não sim Não

Sistemas UNIX atualmente registrados

AIX

AIX versão 7, em 7.1 TL5 (ou posterior) ou 7.2 TL2 (ou posterior) são registrados como compatíveis com UNIX 03. AIX versão 7, em 7.2 TL5 (ou posterior) é registrado como compatível com UNIX V7.

FTX

A série DNCP com FTX Release 3 está registrada como compatível com UNIX 93.

EulerOS

O EulerOS 2.0 para a arquitetura x86-64 está registrado como compatível com UNIX 03. A declaração de conformidade do UNIX 03 mostra que o compilador C padrão é da GNU Compiler Collection ( gcc ) e que o sistema é uma distribuição Linux da família Red Hat .

HP-UX

HP-UX 11i V3 Release B.11.31 é registrado como compatível com UNIX 03. As versões anteriores são registradas como UNIX 95.

Os recursos do HP-UX 11i também fornecem conformidade parcial com a especificação UNIX 98.

Mac OS

Apple macOS (anteriormente conhecido como Mac OS X ou OS X) está registrado como compatível com UNIX 03. A primeira versão registrada foi o Mac OS X 10.5 Leopard , certificado em 26 de outubro de 2007 (em sistemas x86). Todas as versões mais recentes do macOS , até o macOS 11 Big Sur , foram registradas, com o macOS 11 registrado nos sistemas x86-64 e ARM64.

Xinuos

O UnixWare 7.1.3 e posterior está registrado como compatível com UNIX 95. SCO OpenServer 5 e 6 são registrados como compatíveis com UNIX 93.

z / OS

IBM z / OS 1.2 e superior está registrado como compatível com UNIX 95. O z / OS 1.9, lançado em 28 de setembro de 2007, e as versões subsequentes "se alinham melhor" com o UNIX 03.

Sistemas UNIX registrados anteriormente

Solaris

Solaris 11.4 foi registrado anteriormente como compatível com UNIX v7 em 2018. Solaris 11 e Solaris 10 foi registrado como compatível com UNIX 03 em sistemas x86 ( X86-64 ) e SPARC de 32 bits e 64 bits . Solaris 8 e 9 foi registrado como compatível com UNIX 98 em sistemas x86 e SPARC de 32 bits ; Os sistemas x86 de 64 bits não eram suportados.

Solaris 2.5.1 também foi registrado como compatível com UNIX 95 na plataforma PReP PowerPC em 1996, mas o produto foi retirado antes que mais de algumas dezenas de cópias fossem vendidas.

Reliant UNIX

As últimas versões do Reliant UNIX foram registradas como compatíveis com o UNIX 95 (marca rígida XPG4).

Inspur K-UX

Inspur K-UX 2.0 e 3.0 para a arquitetura x86-64 foram certificados como compatíveis com UNIX 03. A declaração de conformidade do UNIX 03 para Inspur K-UX 2.0 e 3.0 mostra que o compilador C padrão é da GNU Compiler Collection ( gcc ) e que o sistema é uma distribuição Linux da família Red Hat .

Tru64 UNIX

Tru64 UNIX V5.1A e posterior foram registrados como compatíveis com UNIX 98.

De outros

Outros sistemas operacionais registrados anteriormente como compatíveis com UNIX 95 ou UNIX 93:

Sistemas semelhantes ao Unix não registrados

Desenvolvedores e fornecedores de sistemas operacionais semelhantes ao Unix, como Linux , FreeBSD e MINIX , normalmente não certificam suas distribuições e não instalam utilitários POSIX completos por padrão. Às vezes, a conformidade com o SUS pode ser melhorada com a instalação de pacotes adicionais, mas muito poucos sistemas Linux podem ser configurados para estar completamente em conformidade.

Darwin , o subconjunto de código aberto do macOS, tem um comportamento que pode ser configurado para estar em conformidade com o UNIX 03.

O FreeBSD tinha anteriormente um "Projeto de Conformidade com C99 e POSIX" que objetivava a conformidade com um subconjunto da Especificação Única do UNIX e documentação onde havia diferenças.

O Projeto de Conformidade FreeBSD C99 e POSIX visa implementar todos os requisitos dos padrões ISO 9899: 1999 (C99) e IEEE 1003.1-2001 (POSIX). Nos casos em que os aspectos dessas normas não podem ser seguidos, esses aspectos serão documentados nos manuais c99 (7) ou posix (7). É também objetivo deste projeto implementar testes de regressão para garantir a correção sempre que possível.

Para o Linux, o Linux Standard Base foi formado em 2001 como uma tentativa de padronizar as estruturas internas dos sistemas baseados em Linux para maior compatibilidade. É baseado nas especificações POSIX, na Single UNIX Specification e em outros padrões abertos, e também os estende em várias áreas; mas existem alguns conflitos entre os padrões LSB e os padrões POSIX. No entanto, embora esses padrões sejam comumente aceitos, poucas distribuições Linux realmente passam pela certificação como compatíveis com LSB.

Veja também

Referências

Fontes

links externos