Header Ads

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

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

macOS: UNIX ou não?

Este assunto levanta várias 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 é semelhante ao UNIX, Unix ou Unix, precisamos nos familiarizar com o que esses termos significam. Quem decide se algo é Unix ou UNIX e quais critérios eles usam?

Vamos começar do começo.

O Unix foi criado há cinquenta anos na BellLabs, uma empresa de pesquisa e desenvolvimento de propriedade da AT&T. Avanço rápido para 1973 e versão 4 do Unix, que foi reescrita na linguagem de programação C. Isso tornou o sistema operacional muito mais portátil e mais fácil de transferir para diferentes plataformas de hardware. No 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 solicitações de cópias do sistema operacional.

Preso por um decreto de consentimento datado de 1956, a AT&T teve que evitar qualquer negócio que não fosse o fornecimento de serviços comuns de comunicações de operadoras. ”O Unix não se qualificou como algo que a AT&T poderia 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 cobranças cobriam o transporte e a embalagem e um "royalties razoável".

Proliferação de Unixes

Como o Unix foi fornecido "como está",”veio sem apoio. Como resultado, uma comunidade Unix começou a se unir para ajudar os membros, a consertar e estender o Unix. Assim, você pode obter o código fonte, modificá-lo e obter suporte da comunidade. Isso tem um toque familiar. Diferentes tipos de Unix começaram a aparecer, adaptados e aprimorados para se adequar à organização que estava fazendo o trabalho.

Bob Fabry, 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 ComputerGrupo de Pesquisa em Ciências (CSRG) da UC Berkeley. Significativamente, Ken Thompson passou um ano lá, trabalhando no que rapidamente se tornou o sabor do Unix da universidade.Cópias das alterações e adições da UC Berkeley foram distribuídas e tornaram-se conhecidas como Berkeley Software Distribution (BSD). Eventualmente, elas se tornaram distribuições de um sistema Unix inteiro, ainda conhecido como BSD. Os números de versão, como 4.2BSD, identificaram os diferentes lançamentos. Em 1984, a AT&T foi liberada das restrições do decreto de consentimento de 1956 e conseguiu comercializar adequadamente seu sistema operacional. Ele incluía código BSD, como TCP / IP, vi e o shell C, csh. Mesmo com essa polinização cruzada e colaboração, houve dificuldades com o licenciamento.O BSD continha o código AT&T, que não era de código aberto, mas os elementos BSD eram.

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

Isso nos deu uma parte do quebra-cabeças: FreeBSD.

NeXTSTEP

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

O NeXT usou uma versão modificada do microkernel Mach e o 4.3BSD para formar o NeXTSTEP, que é a segunda parte deste quebra-cabeças.O Mach foi desenvolvido na Carnegie Mellon para facilitar a pesquisa em computação distribuída e paralela.A equipe de pesquisa usou o 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, assim, adquiriu a NeXTSTEP.A Apple começou a desenvolver o sistema operacional que finalmente se tornaria o macOS por meio do Mac OS X. Atualizou o kernel Mach e o substituiu pela versão mais avançada que a Open Software Foundation desenvolveu e usou no sistema operacional OSF / 1.A Apple também atualizou os componentes BSD com versões atualizadas e aprimoradas da distribuição do FreeBSD.

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

O Kit de E / S, desenvolvido pela Apple com base no DriverKit do NeXTSTEP, também foi incluído. Isso tornou possível adicionar drivers a um kernel sem precisar modificá-lo a cada vez.

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

Os padrões POSIX e SUS

Em 1996, dois organismos de padrões "X / Open" e "Open Software Foundation" foram fundidos para formar o The Open Group.

O Open Group é o organismo de certificação da marca registrada UNIX. Em outras palavras, ele precisa carimbar seu sistema operacional como compatível com seus padrões antes que você possa chamá-lo de UNIX.O UNIX em todas as letras maiúsculas é o símbolo da conformidade.

Portanto, as categorias são as seguintes:

  • Unix: uma família de sistemas operacionais. Essa família inclui sistemas operacionais UNIX e sistemas operacionais semelhantes ao Unix.
  • Sistemas operacionais UNIX: foram certificados como compatíveis com os padrões.
  • Sistemas operacionais semelhantes ao Unix: apresentam aparência eoperam como Unix, mas não foram certificados como compatíveis.

É perfeitamente possível, é claro, que alguns sistemas operacionais no tipo Unix ”categoria pode ser testada amanhã e considerada compatível. Atualmente, eles são efetivamente UNIX, mas só podem ser classificados como Unix porque ainda não possuem o carimbo.

Existem dois padrões que certificam o UNIX: POSIX e Single UNIX Specification (SUS)O SUS é um superconjunto do POSIX. Portanto, algo pode ser compatível com POSIX, mas isso não o torna UNIX. No entanto, se algo é compatível com o SUS, é um UNIX.

O POSIX e o SUS formam grandes coleções de documentos (cerca de 3.700 páginas). Eles definem a operação e o comportamento esperado de todos os aspectos de um sistema UNIX compatível. Tudo, desde E / S assíncrona e síncrona, até a interface de script e os programas em nível de usuário, são catalogados e definidos.

Os padrões definem as interfaces de aplicativos e o comportamento em tempo de execução, mas eles não determinam comoeles são implementados.

Então, o macOS é UNIX?

A resposta deve ser sim.

Você pode rastrear sua linhagem de volta do FreeBSD ao BSD e, a partir daí, de volta ao Unix distribuído pelo Bell Labs antes que a taxa de licença aumente deAT&T.

Mas isso não importa.

Se você escreve um sistema operacional a partir do zero agora, desde que satisfaça os requisitos do SUS, ele &É considerado UNIX.E não importa como você o implementa.O kernel XNU no coração do macOS é uma arquitetura híbrida. Ele combina o código da Apple com partes dos núcleos Mach e BSD.

Mas isso também não importa.O que importa é que ele atenda aos requisitos dos padrões contra os quais é medido.

A parte BSD do kernel XNU fornece as interfaces de programação de aplicativos POSIX (como as várias chamadas de sistema API e BSD). Manter esse elemento do kernel BSD intacto no XNU é essencial para obter a certificação como UNIX. Ele permite que o XNU fale o UNIX compatível e compatível com o resto do sistema.

O macOS é um sistema operacional compatível com UNIX 03 certificado pelo The Open Group. Desde 2007, a partir do MAC OS X 10.5.A única exceção foi o Mac OS X 10.7 Lion, mas a conformidade foi recuperada com o OS X 10.8 Mountain Lion.

Divertidamente, assim como GNU significa "Não é o Unix", não é o Unix, ou o número 8221;XNU significa "X não é Unix".

Via: How to Geek

Veja Também:

Nenhum comentário