Eu sei que o macOS é um sistema operacional UNIX , mas não sei se o macOS pode ser chamado de distribuição UNIX da mesma forma que Gentoo ou Debian são distribuições GNU/Linux .
O macOS é uma distribuição UNIX? Se não for, como alguém poderia se referir corretamente à associação do macOS na família do sistema operacional UNIX e à conformidade com a especificação Single UNIX (ou seja, é uma variante do Unix , uma versão do Unix , uma versão do Unix , etc.)? Além disso, esta questão se aplica ao Solaris, HP-UX e outros unices (todos são distribuições UNIX?).
Além disso, a palavra "distribuição" é restrita aos sistemas operacionais GNU (/Linux, /Hurd, /kFreeBSD, /etc) ou pode ser usada em outros casos?
EDIT: Percebi que o site oficial do UNIX usa "implementações UNIX" e "sistemas operacionais UNIX" para se referir à família de sistemas operacionais Unix, ou seja, aqueles que implementam o Single Unix Standard.
Afinal, o que é o UNIX?
Resposta curta: UNIX é uma especificação/padrão hoje em dia.
No momento em que escrevo, para citar as fontes oficiais , "UNIX® é uma marca registrada do The Open Group", a empresa que, entre muitas coisas, fornece certificação UNIX :
A mesma página indica especificamente qual especificação define o UNIX:
Detalhes dessas especificações podem ser encontrados aqui . Curiosamente, o padrão mais recente listado em seu site é o UNIX 03 e, para citar outra fonte , "UNIX® 03 - a marca para sistemas em conformidade com a versão 3 da Single UNIX Specification".
Para citar a página Sobre nós com minha própria ênfase em negrito:
Portanto, o que isso sugere (ou pelo menos é minha interpretação) é que, quando um sistema operacional está em conformidade com o padrão POSIX e com as especificações Single UNIX, ele é compatível em comportamento com o Unix como um sistema operacional que já existiu em um ponto da história. Observe que isso não menciona a presença de nenhum vestígio do código-fonte original do Unix, nem menciona o kernel de forma alguma (isso se tornará importante mais tarde).
Quanto ao AT&T e System V Unix desenvolvidos por Ritchie e Thompson, hoje podemos dizer que deixou de existir. Com base nas fontes acima, parece que o UNIX hoje em dia não é um sistema operacional específico, mas sim um padrão derivado da melhor generalização possível de como os sistemas operacionais da família Unix se comportam.
Qual é a posição do macOS X no mundo *nix?
Em uma definição muito específica, o macOS versão 10.13 High Sierra em hardware baseado em Intel é compatível com o padrão UNIX 03 e, para citar o certificado em pdf , "a Apple Inc. Nota lateral: hesito em questionar o que significaria para o macOS 10.13 em hardware não Intel ser tratado como, mas considerando que o hardware é mencionado para outro sistema operacional, o hardware é significativo. Exemplo: "Hewlett Packard Enterprise: HP-UX 11i V3 versão B.11.31 ou posterior em servidores HP 9000 com arquitetura de precisão" (na página de registro ).
Vamos voltar à seção anterior da minha resposta. Uma vez que esta versão específica do sistema operacional está em conformidade com o padrão de interoperabilidade e compatibilidade, isso significa que o sistema operacional é o mais próximo possível do Unix original como sistema operacional em comportamento e implementação do sistema. No mínimo, será próximo no comportamento e no ambiente. Quanto mais próximo do nível do sistema e do nível do kernel, mais específica e obscura a área ficará, mas pelo menos a mecânica e o comportamento fundamentais que estavam presentes no Unix devem estar presentes em um sistema operacional que visa ser compatível. O macOS X deve estar muito próximo desse objetivo.
O que é uma distribuição?
Para citar a Wikipédia :
Vamos lembrar por um segundo que o Linux como no Linux Kernel deve ser um software distribuível , com modificações, ou pelo menos de acordo com a GPL v2 . Se considerarmos um gerenciador de pacotes e kernel, Ubuntu e Red Hat são distribuições que fazem sentido. O macOS X tem um kernel diferente do AT&T Unix original - portanto, chamar o macOS X de distribuição Unix não faz sentido. As pessoas sugerem que o kernel do macOS X é baseado no FreeBSD, mas para citar o Wiki do FreeBSD :
Algumas pessoas chamam erroneamente o kernel do OS X de Darwin. Para citar o Guia de Programação do Kernel da Apple :
E para citar a mesma página:
Com base em tudo acima, podemos dizer com segurança que o OS X não é uma distribuição , no sentido da distribuição do Linux. Da mesma forma, outros sistemas operacionais mencionados são compatíveis com POSIX e são sistemas Unix certificados, mas novamente eles diferem em kernels e variações nas chamadas de sistema subjacentes (é por isso que existem livros sobre programação de sistemas Solaris e é um assunto valioso por si só). Portanto, eles não são distribuições no sentido em que as distribuições do Linux são - um núcleo comum com variações de utilitários. No caso do Linux, você vê livros sobre programação de sistema Linux ou programação de kernel Linux, não programação de sistema específica para distribuição, porque não há nada específico de sistema sobre uma distribuição em particular.
A confirmação do que vemos aqui pode ser encontrada na documentação oficial. Por exemplo, o artigo no developerWorks da IBM que abordou a diferença entre os tipos de sistema operacional UNIX e os estados das distribuições Linux (ênfase adicionada):
Em outras palavras, eles são baseados na mesma base, mas não compartilham exatamente a mesma no sentido em que as distros do Linux compartilham o kernel.
Considerações
Observe que a palavra distribuição parece ser usada principalmente ao fazer referência a sistemas operacionais que têm o kernel do Linux em seu núcleo. Tomemos, por exemplo, o tipo de sistema operacional BSD: existe o GhostBSD , que é baseado no kernel e usa alguns dos utilitários do FreeBSD , mas nunca o vi ser referido como uma distribuição BSD; todo sistema operacional BSD menciona apenas no que é baseado e geralmente um sistema operacional é mencionado como um sistema operacional por si só. Claro, BSD significa Berkeley Software Distribution, mas... é isso.
Para citar esta resposta em nosso site em resposta à pergunta se diferentes versões do BSD usam os mesmos kernels:
Eles não são distribuições no sentido de distribuições Linux. Considere o aviso de direitos autorais deste documento :
Notas
Para concluir:
Fonte da imagem: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html
HP-UX Implementação proprietária do sistema operacional Unix, baseado no UNIX System V
Solaris Unix SVR4