O macOS é uma distribuição Unix?

19

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 maneira que Gentoo ou Debian são distribuições GNU / Linux .

O macOS é uma distribuição UNIX? Caso contrário, como se referir corretamente à associação do macOS à família de sistemas operacionais UNIX e à conformidade com a especificação UNIX única (ou seja, é uma variante Unix , uma versão Unix , uma versão Unix , etc.)? Além disso, esta pergunta se aplica ao Solaris, HP-UX e outros departamentos (todas 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: Eu 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 Padrão Único Unix.

Seninha
fonte
Como você define "distribuição Unix" e o que você quer dizer com "ser uma distribuição Unix"?
Jörg W Mittag
@ JörgWMittag Não tenho nenhuma definição para isso. Eu acho que o senso de distribuição GNU-ish como o conjunto de sistemas operacionais que compartilham o mesmo software principal, conforme definido na resposta, é o mais correto.
Seninha 09/02/19
2
UNIX é uma marca. Unix é um sistema operacional. São duas coisas diferentes.
fpmurphy
11
Estritamente falando, Debian e Gentoo não são distribuições Unix, são distribuições Linux. Linux não é Unix, apenas funciona como Unix. Nem AFAIK são distribuições GNU: as ferramentas GNU fazem parte de qualquer distribuição Linux, mas não são a única parte.
jamesqf
11
Se você publicar sua edição como resposta, ela receberá meu voto positivo.
dcorking

Respostas:

32

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.
Sergiy Kolodyazhnyy
fonte
15
Você pode verificar o que o BSD realmente significa antes de afirmar que a palavra "distribuição" não é usada lá ;-).
Stephen Kitt
2
Desculpe pelas edições múltiplas, a falta de "a" se "me" me fez um pouco difícil após o texto inteiro. O POSIX é mais recente que os Unices mais antigos e não tenho certeza se a resposta está misturando os dois; Eu também acho que você está fazendo um desserviço caracterizando o mundo do BSD, que é muito mais próximo do Unix que do Linux. A certificação também por si só também não significa muito mais que alguém tenha tempo e dinheiro para passar pelo processo de certificação, e isso deve ser feito em todas as versões. Na OMI, reformulando um pouco mais o texto, isso pode ser uma resposta muito boa.
Rui F Ribeiro
11
@ Matthew No entanto, eu não atestaria a qualidade da área de usuários do BSD do OS / X / Mac OS. Freqüentemente, os utilitários são versões muito antigas em comparação com as do FreeBSD, e mesmo uma implementação apropriada e recente do IPv6 demorou muito tempo para aparecer apenas em versões muito recentes.
Rui F Ribeiro
3
O site padrão do Unix usa "implementações do UNIX" para se referir aos sistemas operacionais Unix. Então esta é a palavra que eu estava procurando: implementação.
Seninha
3
@Sergiy Kolodyazhnyy. A conformidade com POSIX não significa que uma versão de um sistema as close to original Unix as possibleoperacional seja compatível com POSIX. Existem muitos sistemas operacionais não-Unix compatíveis com POSIX.
fpmurphy
4

P: O macOS é uma distribuição Unix? Caso contrário, como alguém pode se referir corretamente à existência do macOS na família de sistemas operacionais Unix (ou seja, é uma variante Unix, uma versão Unix, uma versão Unix, etc.)? Além disso, esta pergunta se aplica ao Solaris, HP-UX e outros departamentos (todas são distribuições Unix?).

Fonte da imagem: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

Mac OS X

Fonte: https://en.m.wikipedia.org/wiki/XNU

" XNU é o kernel do sistema operacional de computador desenvolvido na Apple Inc. desde dezembro de 1996 para uso no sistema operacional macOS e lançado como software livre e de código aberto como parte do sistema operacional Darwin . Também é usado como o kernel para iOS , tvOS e watchOS. XNU é uma abreviação de X is Not U nix.


Fonte: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

" Construindo seu primeiro kernel

Antes de criar um kernel, você deve primeiro obter o código fonte. O código fonte do kernel do OS X pode ser encontrado no projeto Darwin xnu em http://www.opensource.apple.com . Para descobrir sua versão atual do kernel, use o comando uname -a. Se você tiver problemas, pesquise nos arquivos das listas de discussão darwin-kernel e darwin-development para obter informações. Se isso não ajudar, peça ajuda nas duas listas. Os arquivos da lista e as informações de assinatura podem ser encontrados em http://www.lists.apple.com ".


Fonte: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Cocoa - Uma plataforma avançada de desenvolvimento orientado a objetos para o OS X. Cocoa é um conjunto de estruturas com interfaces de programação em Java e Objective-C. Baseia-se na integração das tecnologias OPENSTEP, Apple e Java.

Darwin - Outro nome para o núcleo do sistema operacional OS X. O kernel Darwin é equivalente ao OS X do kernel além dos BSD bibliotecas e comandos essenciais para o BSD ambiente de linha de comando. Darwin é uma tecnologia de código aberto.

Xcode - o ambiente gráfico de desenvolvimento integrado da Apple. Está disponível gratuitamente com o pacote OS X Developer Tools.

XNU - O kernel do OS X. O acrônimo significa X é Not Unix. O XNU combina a funcionalidade do Mach e BSD com o Kit de E / S, o modelo de driver para OS X.


  • Arquitetura

Fonte: https://en.wikipedia.org/wiki/MacOS#Architecture

"O núcleo do macOS é um sistema operacional compatível com POSIX, construído sobre o kernel XNU , com recursos padrão do Unix disponíveis na interface da linha de comando. A Apple lançou essa família de software como um sistema operacional de código aberto e gratuito chamado Darwin . Em Darwin , a Apple colocou vários componentes, incluindo a interface Aqua e o Finder, para concluir o sistema operacional baseado em GUI, que é o macOS. ".


Q: distribuição ou lançamento ? - Fonte: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Fonte: https://en.wikipedia.org/wiki/MacOS_High_Sierra

"O macOS High Sierra (versão 10.13) é a décima quarta maior versão do macOS, o sistema operacional de desktop da Apple Inc. para computadores Macintosh. O sucessor do macOS Sierra, foi anunciado na WWDC 2017 em 5 de junho de 2017.". "Tipo de kernel: híbrido (XNU)".


P: Além disso, esta pergunta se aplica ao Solaris, HP-UX e outros departamentos (todas são distribuições Unix?).

  • Implementação proprietária do sistema operacional Unix HP-UX , com base no UNIX System V

  • Solaris Unix SVR4

Roubar
fonte
3
Eu recomendaria tentar colar as várias citações com palavras suas.
Rui F Ribeiro
Como o @RuiFRibeiro mencionado, você deve adicionar algumas explicações; o que ele não disse, no entanto, é que não está claro onde você está com todas essas citações diferentes.
Paradox