O que é o UNIX?
Resposta curta: UNIX é uma especificação / padrão hoje em dia.
No momento da redação deste artigo, para citar as fontes oficiais , "UNIX® é uma marca registrada do The Open Group", a empresa que, entre muitas coisas, fornece certificação UNIX :
"O UNIX®, um padrão aberto de propriedade e gerenciado pelo The Open Group, é um facilitador das principais tecnologias e oferece custo total de propriedade reduzido, maior agilidade, estabilidade e interoperabilidade de TI em ambientes heterogêneos, permitindo a inovação de negócios e mercado em todo o mundo . "
A mesma página especifica especificamente qual especificação define o UNIX:
A versão mais recente do padrão de certificação é o UNIX V7, alinhado com a Especificação Única do UNIX Versão 4, 2013 Edição
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 Especificação Única UNIX".
Para citar a página Sobre nós, com minha própria ênfase em negrito:
O sucesso da abordagem UNIX levou a um grande número de sistemas operacionais parecidos, geralmente divergentes em compatibilidade e interoperabilidade. Para resolver isso, fornecedores e usuários se uniram na década de 1980 para criar o padrão POSIX® e, posteriormente, a Especificação UNIX Única .
Então, o que isso sugere (ou pelo menos é a minha interpretação) é que, quando um sistema operacional está em conformidade com o padrão POSIX e as especificações UNIX únicas, ele é compatível no comportamento com o Unix como um sistema operacional que existia em algum momento 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, desenvolvido por Ritchie e Thompson, hoje em dia podemos dizer que ele deixou de existir. Com base nas fontes acima, parece que o UNIX atualmente não é esse SO específico, mas um padrão derivado da melhor generalização possível de como os sistemas operacionais da família Unix se comportam.
Onde está o macOS X no mundo * nix?
Em uma definição muito específica, o macOS versão 10.13 High Sierra em hardware baseado na Intel é compatível com o padrão UNIX 03 e para citar o certificado pdf , "Apple Inc. assinou um Contrato de Licença de Marca Comercial com a X / Open Company Limited". Nota lateral: hesito em questionar o que significaria tratar o macOS 10.13 em hardware que não seja da Intel, 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, nos servidores HP 9000 com arquitetura de precisão" (na página de registro ).
Vamos voltar à seção anterior da minha resposta. Como esta versão específica do sistema operacional está em conformidade com o padrão de interoperabilidade e compatibilidade, significa que o sistema operacional é o mais próximo possível do comportamento e da implementação do sistema do Unix original como sistema operacional. No mínimo, será próximo no comportamento e no ambiente. Quanto mais próximo do nível do sistema e do kernel, mais específica e sombria a área ficará, mas pelo menos a mecânica e o comportamento fundamentais presentes no Unix devem estar presentes em um sistema operacional que busca ser compatível. O macOS X deve estar muito próximo desse objetivo.
O que é uma distribuição?
Para citar a Wikipedia :
Uma distribuição Linux (geralmente abreviada como distro) é um sistema operacional feito de uma coleção de software, baseada no kernel Linux e, geralmente, em um sistema de gerenciamento de pacotes.
Vamos lembrar por um segundo que o Linux, como no Kernel do Linux, deveria ser um software distribuível , com modificações ou pelo menos de acordo com a GPL v2 . Se considerarmos um gerenciador de pacotes e um kernel, o Ubuntu e o Red Hat sendo distribuições fazem sentido. O macOS X possui 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 a Wiki do FreeBSD :
O kernel XNU usado no OS X inclui alguns subsistemas do (versões mais antigas) do FreeBSD, mas é principalmente uma implementação independente
Algumas pessoas, por engano, chamam o kernel do OS X de Darwin. Para citar o Guia de Programação do Kernel da Apple :
O kernel, juntamente com outras partes principais do OS X, são coletivamente referidos como Darwin. Darwin é um sistema operacional completo baseado em muitas das mesmas tecnologias subjacentes ao OS X.
E para citar a mesma página:
A tecnologia Darwin é baseada nas tecnologias BSD, Mach 3.0 e Apple.
Com base em tudo acima, podemos dizer com segurança que o OS X não é uma distribuição , no sentido da distribuição Linux. Da mesma forma, outros sistemas operacionais mencionados são compatíveis com POSIX e são sistemas Unix certificados, mas novamente 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 digno por si só). Portanto, elas não são distribuições no sentido em que as distribuições Linux são - um núcleo comum com variações nos utilitários. No caso do Linux, você vê livros sobre programação de sistemas Linux ou programação de kernel Linux, e não sobre programação específica de distribuição, porque não há nada específico de sistema em uma distribuição específica.
A confirmação do que vemos aqui pode ser encontrada na documentação oficial. Por exemplo, artigo no developerWorks da IBM que abordava a diferença entre os tipos de SO UNIX e os estados de distribuição do Linux (ênfase adicionada):
A maioria das variantes modernas do UNIX conhecidas hoje são versões licenciadas de uma das edições originais do UNIX . O Solaris da Sun, o HP-UX da Hewlett-Packard e o AIX da IBM são todos sabores do UNIX que possuem seus próprios elementos e fundações exclusivos .
Em outras palavras, eles são baseados na mesma base, mas não compartilham exatamente a mesma no sentido em que as distribuições Linux compartilham o kernel.
Considerações
Observe que a distribuição de palavras 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 sistemas operacionais BSD: existe o GhostBSD , que é baseado no kernel e usa alguns dos utilitários do FreeBSD , mas nunca vi isso como uma distribuição BSD; todo sistema operacional BSD apenas menciona em que se baseia 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:
Não, embora existam semelhanças devido aos garfos históricos. Cada projeto evoluiu separadamente.
Eles não são distribuições no sentido de distribuições Linux. Considere o aviso de direitos autorais deste documento :
Partes deste produto podem ser derivadas dos sistemas UNIX® e Berkeley 4.3 BSD
Notas
- o padrão POSIX mencionado anteriormente também é referenciado como padrão IEEE (onde IEEE é o Institute of Electrical and Electronics Engineers, que lida com outras coisas, tipos de coisas de TI).
- para citar a Wikipedia : "Em 2016, com o lançamento do macOS 10.12 Sierra, o nome foi alterado de OS X para macOS para simplificá-lo com a marca dos outros sistemas operacionais principais da Apple: iOS, watchOS e tvOS. [56]"
- Resposta do histórico do Mac OS X
- diferença conceitual entre o kernel Linux e BSD
Em conclusão:
- o macOS X pode ser chamado de sistema operacional semelhante ao Unix, sistema semelhante ao Unix, implementação do Unix, sistema operacional compatível com POSIX quando você deseja relacioná-lo ao AT&T Unix original;
- "Versão Unix" não seria o termo apropriado porque o macOS X é muito diferente do AT&T Unix original e, como mencionado anteriormente, não existe mais Unix no sentido de software, e agora é mais um padrão do setor;
- Provavelmente a palavra "distribuição" se encaixa apenas no mundo Linux.
- O verdadeiro problema é que você (o leitor) e eu temos tempo demais para discutir sobre o assunto sobre o qual os advogados deveriam estar discutindo. Talvez devêssemos ser como os Linux Torvalds e usar terminologia e sistemas operacionais que nos permitam seguir em frente com a vida e fazer as coisas com as quais honestamente nos importamos e que devemos nos preocupar.