Darwin (sistema operacional)

Kernel de código aberto da Apple
(Redirecionado de Darwine)

Darwin é um kernel[2] de código aberto lançado pela Apple Inc. em 2000. É composto por código desenvolvido pela Apple, bem como código derivado do NeXTSTEP, BSD, Mach, e outros projetos de software livre.

Darwin
Modelo do desenvolvimentoOpen source
Lançamento15 de novembro de 2000 (23 anos)
Versão estável19.4.0 /24 de março de 2020; há 4 anos
InterfaceInterface de linha de comando
LicençaMaioria Apple Public Source License (APSL), com closed-source drivers[1]
Estado do desenvolvimentoCorrente
Página oficialApple - Open Source (em inglês).

Darwin forma o conjunto central de componentes sobre os quais macOS (anteriormente OS X e Mac OS X), iOS, watchOS, tvOS e iPadOS são baseados. Sua maioria é compatível com POSIX, mas nunca, por si só, foi certificado como compatível com qualquer versão do POSIX. Começando com o Mac OS X Leopard,o macOS foi certificado como compatível com a versão 3 da Single UNIX Specification (SUSv3).[3][4][5]

História

A herança do Darwin começou com o sistema operacional NeXTSTEP da NeXT (mais tarde, desde a versão 4.0, conhecida como OPENSTEP), lançada pela primeira vez em 1989. Depois que a Apple comprou a NeXT em 1997, anunciou que basearia seu próximo sistema operacional no OPENSTEP. Este foi desenvolvido no Rhapsody em 1997, Mac OS X Server 1.0 em 1999, Mac OS X Public Beta em 2000, e Mac OS X 10.0 em 2001. Em 2000, os principais componentes do sistema operacional Mac OS X foram lançados como software de código aberto a Licença de Fonte Pública da Apple (APSL) como Darwin; os componentes de alto nível, como as estruturas do Cocoa e Carbon, permaneceram como software proprietário. O nome é um tributo ao naturalista britânico Charles Darwin.

Simplified history of Unix-like operating systems.


Kernel

O núcleo do Darwin é o XNU,[6] um kernel híbrido que usa OSFMK 7.3 (Open Software Foundation Mach Kernel) da OSF, vários elementos do FreeBSD (incluindo o modelo de processo, pilha de rede, sistema de arquivos virtuais), e um driver de dispositivo orientado a objetos API chamado Kit I/O. O design do kernel híbrido fornece a flexibilidade de um microkernel e o desempenho de um kernel monolítico.

Arquitetura do core Darwin (em azul)

Suporte a hardware e software

O Darwin atualmente inclui suporte para a variante de 64-bit x86-64 dos processadores Intel x86 usados em Macs e os processadores ARM de 64 bits usados no iPhone 5S, o iPod Touch de 6ª geração, o iPad Air, a quarta geração Apple TV, modelos originais HomePod, e posteriores, bem como os processadores ARM de 32 bits usados no iPhone 5C e mais antigos, gerações anteriores do iPod Touch, o iPad até a quarta geração, e a segunda e terceira geração da Apple TV. Existe uma porta de código aberto do kernel XNU que suporta Darwin nas plataformas Intel e AMD x86 não suportadas oficialmente pela Apple, embora não pareça ter sido atualizada desde 2009. Uma porta de código aberto do kernel XNU também existe para plataformas ARM. Versões mais antigas suportavam alguns ou todos os PowerPC de 32 bits, PowerPC de 64 bits e 32 bits x86.

Ele suporta a API POSIX por meio de sua linhagem BSD (em grande parte FreeBSD userland) e um grande número de programas escritos para vários outros sistemas UNIX-like podem ser compilados em Darwin sem alterações no código-fonte.

Darwin não inclui muitos dos elementos definidores do macOS, como as APIs Carbon e Cocoa ou a interface de usuário Quartz Compositor e Aqua, e, portanto, não pode executar aplicativos Mac. Ele, no entanto, suporta uma série de características menos conhecidas do macOS, como o mDNSResponder, que é o respondente DNS multicast e um componente central da tecnologia de rede Bonjour; e launchd uma avançada framework de gerenciamento de serviços.

Licença

Em julho de 2003, a Apple lançou o Darwin sob a versão 2.0 da Licença de Fonte Pública da Apple (APSL), que a Free Software Foundation (FSF) classifica como uma licença de software gratuita incompatível com a Licença Pública Geral GNU. Versões anteriores foram lançadas sob uma versão anterior da licença APSL, que não atendeu à definição FSF de software livre, embora tenha cumprido os requisitos da Definição de Código Aberto.

Versões

Tabela de grandes lançamentos do Darwin e suas datas e lançamentos no macOS.[7] Observe que a versão correspondente do macOS pode ter sido lançada em uma data diferente; consulte as páginas do macOS para essas datas.

DarwinLançamentoVersão do MacOS
0.116 de março de 1999Lançamento do Mac OS X Server 1.0
0.214 de abril de 1999Lançamento do Mac OS X Server 1.0
0.35 de agosto de 1999Lançamento do Mac OS X Server 1.0
1.012 de abril de 2000Developer preview 3
1.15 de abril de 2000Developer preview 4
1.2.115 de novembro de 2000Beta público do Mac OS X "Kodiak"
1.3.113 de abril de 2001Mac OS X 10.0 Cheetah
1.4.12 de outubro de 2001Mac OS X 10.1 Puma
5.1Mac OS X 10.1.1
5.5Mac OS X 10.1.5
6.0.123 de setembro de 2002Mac OS X 10.2 Jaguar
6.8Mac OS X 10.2.8
7.024 de outubro de 2003Mac OS X 10.3 Panther
7.9Mac OS X 10.3.9
8.029 de abril de 2005Mac OS X 10.4 Tiger
8.11Mac OS X 10.4.11
9.026 de outubro de 2007Mac OS X 10.5 Leopard
9.8Mac OS X 10.5.8
10.028 de agosto de 2009Mac OS X 10.6 Snow Leopard
10.8Mac OS X 10.6.8
11.0.020 de julho de 2011Mac OS X 10.7 Lion
11.4.2Mac OS X 10.7.5
12.0.016 de fevereiro de 2012OS X 10.8 Mountain Lion
12.6.0OS X 10.8.5
13.0.011 junho de 2013OS X 10.9 Mavericks
13.4.0OS X 10.9.5
14.0.018 de setembro 2014OS X 10.10 Yosemite
14.5.0OS X 10.10.5
15.0.013 de agosto de 2015OS X 10.11.0
15.6.0OS X 10.11.6
16.0.013 de setembro de 2016macOS 10.12 Sierra
16.5.0macOS 10.12.4
17.0.019 de setembro de 2017macOS 10.13 High Sierra
17.5.0macOS 10.13.4
17.6.0macOS 10.13.5
17.7.0macOS 10.13.6
18.0.024 de setembro de 2018macOS 10.14 Mojave
18.2.0macOS 10.14.1
19.0.019 de setembro de 2019macOS 10.15 Catalina
19.2.0macOS 10.15.2
19.3.0macOS 10.15.3
19.4.024 de março de 2020macOS 10.15.4

O salto nos números de versão de Darwin 1.4.1 para 5.1 com o lançamento do Mac OS X v10.1.1 foi projetado para ligar Darwin à versão Mac OS X e ao sistema de numeração de compilação, que por sua vez é herdado do NeXTSTEP. No sistema de numeração de compilação do macOS, cada versão tem um número de compilação inicial único, que identifica a versão inteira do macOS que faz parte. Mac OS X v10.0 tinha números de compilação começando com 4, 10.1 tinha números de compilação começando com 5, e assim por diante (números de compilação anteriores representavam lançamentos de desenvolvedores).[8]

O comando uname -r no Terminal mostrará o número da versão de Darwin, e o comando uname -v mostrará a string de versão de compilação XNU, que inclui o número da versão de Darwin.

Projetos derivados

Devido à natureza do software livre de Darwin, houve projetos que visam modificar ou melhorar o sistema operacional.

interface GNOME com OpenDarwin.

OpenDarwin

OpenDarwin era um sistema operacional baseado no sistema Darwin. Foi fundada em abril de 2002 pela Apple Inc. e pela Internet Systems Consortium. Seu objetivo era aumentar a colaboração entre os desenvolvedores da Apple e a comunidade de software livre. A Apple se beneficiou do projeto porque as melhorias no OpenDarwin seriam incorporadas aos lançamentos do Darwin; e a comunidade de código livre/aberto beneficiou-se de ter controle total sobre seu próprio sistema operacional, que poderia então ser usado em distribuições de software livre, como GNU-Darwin.[9]

Em 25 de julho de 2006, a equipe OpenDarwin anunciou que o projeto estava sendo encerrado, pois eles achavam que OpenDarwin tinha "se tornado uma mera instalação de hospedagem para projetos relacionados ao Mac OS X", e que os esforços para criar um sistema operacional Darwin independente haviam falhado. Eles também afirmam: "Disponibilidade de recursos, interação com representantes da Apple, dificuldade de construção e rastreamento de recursos e falta de interesse da comunidade contribuíram para isso." [10] O último lançamento estável foi a versão 7.2.1, lançada em 16 de julho de 2004.[11]

PureDarwin

PureDarwin é um projeto para criar uma imagem bootável de sistema operacional do código-fonte Darwin lançado pela Apple.[12] Desde o encarramento do OpenDarwin e o lançamento de imagens bootáveis desde Darwin 8.x, tem sido cada vez mais difícil criar um sistema operacional completo à medida que muitos componentes se tornaram de codigo fechado. O projeto conseguiu criar uma versão de Natal baseada em Darwin 9 com uma GUI X11[13] e uma com apenas linha de comando, a 17.4 Beta baseada em Darwin 17.[14]

Outros projectos derivados

  • MacPorts (anteriormente DarwinPorts), Fink e Homebrew são projetos bem conhecidos para portar programas UNIX para o sistema operacional Darwin e fornecer gerenciamento de pacotes. Além disso, vários gerenciadores de pacotes padrão UNIX , como RPM, pkgsrc e Portage, têm portas Darwin. Alguns deles operam em seu próprio namespace para não interferir com o sistema base.
  • GNU-Darwin é um projeto que porta pacotes de software livre para Darwin. Eles empacotam imagens do Sistema Operacional de forma semelhante a uma distribuição Linux.
  • O projeto Darwine foi uma portabilidade do wine que permite executar o software Microsoft Windows em Darwin.
  • SEDarwin é uma porta de estrutura de controle de acesso obrigatório TrustedBSD e partes da estrutura SELinux para Darwin.[15] Foi incorporado ao Mac OS X 10.5.[16]
  • O projeto Darbat é um porto experimental de Darwin para a família de micronúcleos L4. Ele tem como objetivo ser binário compatível com os binários darwinianos existentes.[17]
  • O projeto Darling é uma camada de compatibilidade para a execução de binários macOS em sistemas Linux. Usa algum código fonte de Darwin.[18]
  • Existem vários projetos que se concentram no suporte ao driver: por exemplo, drivers wireless,[19][20] drivers para NIC,[21][22][23] drivers de modem,[24] leitores de cartão,[25] e os sistemas de arquivos ext2 e ext3.[26][26]

Ver também

Referências

Ligações externas

Este artigo sobre software livre é um esboço. Você pode ajudar a Wikipédia expandindo-o.