Darwin (sistema operacional)

Kernel de código aberto da Apple

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 desenvolvimento Open source
Lançamento 15 de novembro de 2000 (24 anos)
Versão estável 19.4.0 /24 de março de 2020; há 4 anos
Interface Interface de linha de comando
Licença Maioria Apple Public Source License (APSL), com closed-source drivers[1]
Estado do desenvolvimento Corrente
Página oficial Apple - 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

editar

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

editar

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

editar

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

editar

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

editar

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.

Darwin Lançamento Versão do MacOS
0.1 16 de março de 1999 Lançamento do Mac OS X Server 1.0
0.2 14 de abril de 1999 Lançamento do Mac OS X Server 1.0
0.3 5 de agosto de 1999 Lançamento do Mac OS X Server 1.0
1.0 12 de abril de 2000 Developer preview 3
1.1 5 de abril de 2000 Developer preview 4
1.2.1 15 de novembro de 2000 Beta público do Mac OS X "Kodiak"
1.3.1 13 de abril de 2001 Mac OS X 10.0 Cheetah
1.4.1 2 de outubro de 2001 Mac OS X 10.1 Puma
5.1 Mac OS X 10.1.1
5.5 Mac OS X 10.1.5
6.0.1 23 de setembro de 2002 Mac OS X 10.2 Jaguar
6.8 Mac OS X 10.2.8
7.0 24 de outubro de 2003 Mac OS X 10.3 Panther
7.9 Mac OS X 10.3.9
8.0 29 de abril de 2005 Mac OS X 10.4 Tiger
8.11 Mac OS X 10.4.11
9.0 26 de outubro de 2007 Mac OS X 10.5 Leopard
9.8 Mac OS X 10.5.8
10.0 28 de agosto de 2009 Mac OS X 10.6 Snow Leopard
10.8 Mac OS X 10.6.8
11.0.0 20 de julho de 2011 Mac OS X 10.7 Lion
11.4.2 Mac OS X 10.7.5
12.0.0 16 de fevereiro de 2012 OS X 10.8 Mountain Lion
12.6.0 OS X 10.8.5
13.0.0 11 junho de 2013 OS X 10.9 Mavericks
13.4.0 OS X 10.9.5
14.0.0 18 de setembro 2014 OS X 10.10 Yosemite
14.5.0 OS X 10.10.5
15.0.0 13 de agosto de 2015 OS X 10.11.0
15.6.0 OS X 10.11.6
16.0.0 13 de setembro de 2016 macOS 10.12 Sierra
16.5.0 macOS 10.12.4
17.0.0 19 de setembro de 2017 macOS 10.13 High Sierra
17.5.0 macOS 10.13.4
17.6.0 macOS 10.13.5
17.7.0 macOS 10.13.6
18.0.0 24 de setembro de 2018 macOS 10.14 Mojave
18.2.0 macOS 10.14.1
19.0.0 19 de setembro de 2019 macOS 10.15 Catalina
19.2.0 macOS 10.15.2
19.3.0 macOS 10.15.3
19.4.0 24 de março de 2020 macOS 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

editar

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

 
interface GNOME com OpenDarwin.

OpenDarwin

editar

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

editar

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

editar
  • 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

editar

Referências

  1. «Binary Drivers required for PureDarwin». Consultado em 20 de julho de 2009. Arquivado do original em 18 de novembro de 2009 
  2. «Kernel Architecture Overview». developer.apple.com. Consultado em 16 de fevereiro de 2020 
  3. «Apple - Mac OS X Leopard - Technology - UNIX». web.archive.org. 27 de dezembro de 2008. Consultado em 16 de fevereiro de 2020 
  4. «Open Brand». www.opengroup.org. Consultado em 16 de fevereiro de 2020 
  5. «Open Brand». www.opengroup.org. Consultado em 16 de fevereiro de 2020 
  6. apple/darwin-xnu, Apple, 16 de fevereiro de 2020, consultado em 16 de fevereiro de 2020 
  7. «Open Source - Releases» 
  8. «Darwin Version - New Scheme in Software Update 1». 14 de janeiro de 2009 
  9. «OpenDarwin». 6 de janeiro de 2006 
  10. «OpenDarwin». 4 de agosto de 2006 
  11. «OpenDarwin 7.2.1 Released». 5 de agosto de 2004 
  12. «PureDarwin» (em inglês) 
  13. «PureDarwin/PureDarwin» (em inglês) 
  14. PureDarwin/PD-17.4-Beta, PureDarwin, 24 de março de 2020, consultado em 29 de março de 2020 
  15. «Darwin (operating system)». Wikipedia (em inglês). 11 de março de 2020 
  16. «Mac Dev Center: What's New In Mac OS X: Mac OS X v10.5». 8 de dezembro de 2009 
  17. «www.ertos.nicta.com.au/software/darbat/home.pml | ERTOS | NICTA». 19 de dezembro de 2013 
  18. «Darling | macOS translation layer for Linux» 
  19. «WirelessDriver Home Page» 
  20. «iwi2200 Darwin» (em inglês) 
  21. «Port BSD tulip driver(s) to Darwin OS» (em inglês) 
  22. «RealTek network driver for MacOSX/Darwin» (em inglês) 
  23. «RTL8150LMEthernet» (em inglês) 
  24. «ZyXEL Modem Drivers for OS X/Darwin» (em inglês) 
  25. «Mac OS X PC Card ATA Driver» 
  26. a b «Mac OS X Ext2 Filesystem» (em inglês) 

Ligações externas

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