O macOS é UNIX? (e o que isso significa?)

O macOS é UNIX ou apenas Unix? Ou é semelhante ao Unix? Respondemos ao debate sem fim e explicamos padrões como POSIX e o SUS ao longo do caminho.

macOS: UNIX ou não?

Este assunto levanta uma série de questões diferentes. Qual é a linhagem do macOS? Quanto desse material hereditário ainda está presente no macOS de hoje, e isso importa? Antes de começarmos a responder se algo é UNIX, Unix ou semelhante ao Unix, precisamos estar confortáveis ​​com o que esses termos significam. Quem decide se algo é Unix ou UNIX, e quais critérios eles usam?

Vamos começar no início.

O Unix foi criado há cinquenta anos em Bell Labs, uma empresa de pesquisa e desenvolvimento de propriedade da AT&T. Avance para 1973 e a versão 4 do Unix, que foi reescrito na linguagem de programação C. Isso tornou o sistema operacional muito mais portátil e fácil de transferir para diferentes plataformas de hardware. Nesse mesmo ano, Ken Thompson e Dennis Ritchie, dois dos principais arquitetos do Unix, apresentaram um artigo em uma conferência sobre sistemas operacionais. Imediatamente, eles receberam pedidos de cópias do sistema operacional.

Preso por um decreto de consentimento que datava de 1956, a AT&T teve que evitar “qualquer negócio que não seja o fornecimento de serviços de comunicação de operadora comum”. O Unix não se qualificou como algo com o qual a AT&T pudesse lucrar. Então, a empresa fez algo notável para a época: distribuiu o Unix como código-fonte com uma licença liberal. Pequenas despesas cobriam o envio e embalagem e um “royalty razoável”.

  Como ativar o painel no macOS Mojave

Uma Proliferação de Unixes

Como o Unix foi fornecido “no estado em que se encontra”, ele veio sem suporte. Como resultado, uma comunidade Unix começou a se unir para ajudar os membros e corrigir e estender o Unix. Portanto, você pode obter o código-fonte, modificá-lo e obter suporte da comunidade. Isso soa familiar. Diferentes sabores de Unix começaram a aparecer, adaptados e ajustados para se adequar à organização que fazia o trabalho.

Bob Fabry, um professor de ciência da computação na UC Berkeley, estava no comitê de programa do Simpósio de 1973 sobre Princípios de Sistemas Operacionais. Ele ouviu uma apresentação de Thompson e Ritchie, intitulada The UNIX Time-Sharing System.

Fabry solicitou uma cópia do sistema operacional e, em 1974, o Unix foi instalado em um PDP / 11 no Grupo de Pesquisa em Ciências da Computação (CSRG) da UC Berkeley. Significativamente, Ken Thompson passou um ano lá, trabalhando no que rapidamente se tornou o tipo de Unix da própria universidade. Cópias das alterações e adições da UC Berkeley foram distribuídas e ficaram conhecidas como Berkeley Software Distribution (BSD). Eventualmente, eles se tornaram distribuições de um sistema Unix inteiro, ainda conhecido como BSD. Números de versão, como 4.2BSD, identificaram os diferentes lançamentos.

  Como aplicar cores por meio de teclas de atalho no Sketch no macOS

Em 1984, a AT&T foi liberada das restrições do decreto de consentimento de 1956 e foi capaz de comercializar seu sistema operacional de maneira adequada. Incluía código BSD, como TCP / IP, vie o shell C, csh. Mesmo com essa polinização cruzada e colaboração, houve dificuldades com o licenciamento. O BSD continha código da AT&T, que não era de código aberto, mas os elementos do BSD sim.

Uma versão do BSD sem código AT&T foi desenvolvida para contornar esses problemas. Quando o código da AT&T foi removido, porém, faltava cerca de 20% do kernel. William Jolitz escreveu as partes que faltam, e essa versão do Unix foi lançada como 386BSD. O projeto 386BSD estagnou, mas em 1993, sua base de código-fonte deu origem ao NetBSD e FreeBSD projetos.

Isso nos deu uma peça do quebra-cabeça: FreeBSD.

Próxima Etapa

Depois de ser demitido da Apple, Inc. em 1985, Steve Jobs fundou uma empresa chamada NeXT, Inc. Para fornecer um sistema operacional para sua linha de produtos de estação de trabalho, a NeXT desenvolveu Próxima Etapa. Ele usou BSD como base de código, mas introduziu um kernel completamente diferente.

  Como exportar notas como arquivos de texto simples no macOS

NeXT usou uma versão modificada do Mach microkernel e 4.3BSD para formar o NeXTSTEP, que é a segunda parte deste quebra-cabeças. Mach foi desenvolvido na Carnegie Mellon para facilitar a pesquisa em computação distribuída e paralela. A equipe de pesquisa usou BSD como sistema operacional e substituiu o kernel em vez de escrever seu próprio sistema operacional.

XNU

Em 1996, a Apple, Inc. comprou a NeXT, Inc. e, com isso, adquiriu a NeXTSTEP. A Apple começou a desenvolver o sistema operacional que finalmente se tornaria o macOS por meio de Mac OS X. Ele atualizou o kernel Mach e substituiu-o pela versão mais avançada que a Open Software Foundation desenvolveu e usou no OSF / 1 sistema operacional. A Apple também atualizou os componentes BSD com versões atualizadas e aprimoradas da distribuição FreeBSD.

A Apple trouxe elementos do kernel BSD de volta para o kernel Mach. Também desenvolveu um kernel híbrido que combinava características de ambos monolítico e arquiteturas de microkernel.

O I / O Kit, que a Apple desenvolveu com base no DriverKit do NeXTSTEP, também foi incluído. Isso tornou possível adicionar drivers a um kernel sem ter que modificá-lo a cada vez.

XNU é a terceira parte do quebra-cabeça.

Os padrões POSIX e SUS

Em 1996, dois organismos de normalização –X / aberto e a Open Software Foundation– mesclado para formar O Grupo Aberto.

O Grupo Aberto é o certificador