Darwin (sistema operatiu)

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Darwin
sistema operatiu
GNOME 2 en execució a openDarwin (2004) .png
OpenDarwin amb l' entorn d' escriptori GNOME
Desenvolupador poma
Família BSD
Llançament inicial 0,1 (16 de març de 1999 )
corrent d'alliberament 19.0.0 (17 d'octubre de 2019 )
Tipus de nucli XNU
Plataformes compatibles x86 , PowerPC , ARM
Tipus de llicència Programari lliure
Llicència APSL
Etapa de desenvolupament en producció
Predecessor Següent pas
Lloc web lists.apple.com/mailman/listinfo/darwin-kernel

En informàtica, Darwin és un sistema operatiu gratuït que utilitza el nucli XNU . Juntament amb altres components, com ara els frameworks bàsics, els frameworks d’aplicacions ( Cocoa , Carbon i Java ) i la interfície gràfica propietària Aqua , forma el sistema operatiu macOS . Darwin també s’implementa al sistema operatiu mòbil d’Apple, iOS . Tanmateix, la versió que s’utilitza per a iOS difereix de la versió que s’utilitza per a OS X. A més, la versió per a mòbils és de font tancada .

Història

NeXT Computer , una empresa fundada el 1985 per Steve Jobs amb l'objectiu de crear una nova revolució en el camp de la informàtica , va examinar les noves tecnologies desenvolupades per universitats i empreses informàtiques per tal de crear el millor ordinador personal que mai no va existir. [ sense font ] . Es van identificar diversos projectes, inclosos:

A partir d’aquestes bases es va desenvolupar el sistema NeXTSTEP que, un cop evolucionat a OpenSTEP , va ser utilitzat per Apple com a base per a macOS després de l’adquisició de NeXT pel propi Apple. La primera versió es va presentar el 2000 . El nom que pren la seva referència de l’erudit evolucionista homònim , va ser escollit per representar la característica d’aquest sistema com a evolució de BSD / Unix. Darwin és el cor del sistema operatiu macOS , així com la seva base BSD, que el converteix en Unix amb el nucli XNU implementat . XNU és un nucli híbrid, basat en una unió de l' Mach microkernel i el codi de FreeBSD nucli monolític. (XNU és un acrònim recursiu de XNU's Not Unix = "XNU Is not Unix")

Darwin és un sistema operatiu gratuït complet ja que es distribueix al públic sota la llicència Apple Public Source License per fer-lo de codi obert . Apple encara desenvolupa Darwin fent que les versions d’instal·lacions de Darwin estiguin disponibles a la pàgina de llançament, primer en col·laboració amb els desenvolupadors que s’adheriren al projecte OpenDarwin, abandonat des de fa temps, ara de manera solitària, mentre que les fonts estan disponibles a la seva pàgina d’ origen. Inicialment va ser desenvolupat només per Apple, amb la total compatibilitat POSIX UNIX , amb el nom de Rhapsody (mai distribuït fora dels entorns Apple) i, posteriorment, a partir d’aquí es va crear una forquilla real el 2000 després de la seva presentació, de la qual van néixer quatre distribucions conegudes fins ara, de les quals dues no estan relacionades oficialment amb Apple i per aquest motiu parlem de Darwin OS com una família de sistemes operatius derivats de FreeBSD .

Descripció

Model del nucli

Arbre genealògic semblant a Unix nascut d'UNIX

Com molts nuclis moderns, Darwin segueix un enfocament híbrid, que conté trets tant d'un nucli de microcerns com d'un nucli monolític . De fet, segueix un enfocament de microcernel pel que fa a la gestió de serveis, però integra grans porcions del sistema operatiu en el mateix microcernel per reduir el temps d'inactivitat a causa del canvi de context. Aquest enfocament mixt fa que el sistema operatiu sigui més sensible i més ràpid, però al mateix temps el fa més sensible als errors de programació del nucli.

La major part del codi s’executa fora del nucli per tal de facilitar el desenvolupament de manera ràpida i senzilla. Els components individuals s’escriuen i es proven de forma independent, de fet és més fàcil provar una petita porció de codi que analitzar el funcionament d’un mòdul immers en centenars de milers de línies de codi pertanyents a altres mòduls. A més, aquest enfocament fa que el sistema operatiu sigui menys sensible a les fallades dels controladors individuals.

El nucli es diu XNU i es pot considerar una derivació del nucli Mach 3.0 amb addicions rellevants de FreeBSD 5.x.

Mach

Mach, el nucli del nucli XNU, proporciona la gestió de processos , la transmissió de missatges (utilitzada en la comunicació entre processos ), protecció de memòria i memòria virtual , gestió de processos del sistema en temps real , suport de depuració de nuclis i E / S des de la consola. Mach també gestiona la presència de múltiples fitxers binaris perquè pugui gestionar de forma nativa la presència de diverses arquitectures de maquinari com ara processadors PowerPC o processadors X86 .

BSD

Les porcions de codi de BSD integrats proporcionen la POSIX API (crides a sistema BSD) el model de gestió de processos, els nivells de seguretat bàsics i polítiques relacionades, l'ID d'usuari, els permisos de administració, la gestió de la xarxa , el sistema d'arxius virtual (incloent el diari capa), criptografia , IPC UNIX System V i moltes primitives.

Kit d'E / S

És un marc per escriure controladors dissenyat amb un subconjunt de C ++ . S'ha dissenyat seguint els dictats de la programació orientada a objectes per tal de permetre l'escriptura de controladors de forma ràpida i amb poc codi. Aquest model és únic en el seu tipus, no està present en altres sistemes operatius similars a UNIX que permeten escriure controladors només en C pur, sense l'ajut d' OOP . La possibilitat d’importar i utilitzar un controlador ja escrit com a superclasse facilita, en primer lloc, la creació del propi controlador, el fa menys propens a errors i redueix l’espai que ocupa el controlador a la zona del nucli. El framework gestiona SMP , multiprocés, gestiona la seguretat, permet la càrrega dinàmica de controladors i gestiona perifèrics hot-plug i autoconfigurables . La majoria dels controladors s’escriuen per executar-se a l’espai de l’usuari per tal de millorar la seguretat del sistema. L'error d'un controlador que s'executa a l'espai de l'usuari no pot bloquejar el nucli.

Protecció compartida de recursos

Per permetre un funcionament segur en màquines multiprocessador, l'accés als recursos compartits (fitxers, estructures de dades, etc.) es serialitza per evitar que els processos canviïn el mateix recurs al mateix temps. Les operacions atòmiques, els filtres , les seccions crítiques, els sistemes d’exclusió mútua i la gestió serialitzada són els possibles mètodes per evitar l’accés perillós a les estructures compartides. Com Linux i FreeBSD, Darwin implementa sistemes d'exclusió mútua de gra fi (mutexes) per aconseguir un alt rendiment en sistemes multiprocessador.

Processadors compatibles

Darwin pot utilitzar actualment equips basats en X86 ( Intel o AMD ) o basats en PowerPC en configuracions de processador simple o multiprocessador. També és compatible amb l'arquitectura ARM64 (tant per a mòbils com per a ordinadors).

Desenvolupament i distribució

Comprovació de qualitat

Com molts sistemes operatius moderns, Darwin utilitza un depurador integrat al nucli per ajudar els desenvolupadors a trobar errors al codi.

Llicència

Al juny del 2003, Apple va distribuir Darwin 7.0 sota la llicència Apple Public Source License , versió 2.0 del 6 d'agost de 2003 , considerada per la FSF com una llicència de programari lliure no compatible amb la GNU GPL , no recomanable si esteu escrivint un programa nou, però no recomano utilitzar-lo de programes sota aquesta llicència.

Distribucions

  • Apple Darwin , distribuït com a nucli de macOS per als desenvolupadors
  • OpenDarwin , distribuït com un sistema operatiu complet "independent" (que ja no està en desenvolupament)
  • Puredarwin , distribuït com un sistema operatiu de codi obert, el projecte vol crear la seva versió "completa i utilitzable"
  • Gnu / Darwin , distribuït per unificar el sistema operatiu GNU amb el nucli Darwin

Versió

La taula següent mostra la data de les diverses versions de Darwin i la versió relativa de macOS i iOS:

Data Versió de Darwin Versió de MacOS Versió iOS
5 d’abril del 2000 Darwin 1.0
13 d’abril del 2000 Darwin 1.0.2
13 d’abril de 2001 Darwin 1.3.1 Mac OS X Cheetah a la 10.0.4
2 d’octubre de 2001 Darwin 1.4.1 Mac OS X Puma
Darwin 5.1 Mac OS X 10.1.1
Darwin 5.2 Mac OS X 10.1.2
Darwin 5.3 Mac OS X 10.1.3
Darwin 5.4 Mac OS X 10.1.4
Darwin 5.5 Mac OS X 10.1.5
23 de setembre de 2002 Darwin 6.0.1 Mac OS X Jaguar
28 d’octubre de 2002 Darwin 6.0.2 Mac OS X 10.2
Darwin 6.1 Mac OS X 10.2.1
Darwin 6.2 Mac OS X 10.2.2
Darwin 6.3 Mac OS X 10.2.3
Darwin 6.4 Mac OS X 10.2.4
Darwin 6.5 Mac OS X 10.2.5
Darwin 6.6 Mac OS X 10.2.6
Darwin 6.7 Mac OS X 10.2.7
Darwin 6.8 Mac OS X 10.2.8
24 d’octubre de 2003 Darwin 7.0 Mac OS X Panther
Darwin 7.1 Mac OS X 10.3.1
Darwin 7.2 Mac OS X 10.3.2
Darwin 7.3 Mac OS X 10.3.3
Darwin 7.4 Mac OS X 10.3.4
Darwin 7.5 Mac OS X 10.3.5
Darwin 7.6 Mac OS X 10.3.6
Darwin 7.7 Mac OS X 10.3.7
Darwin 7.8 Mac OS X 10.3.8
15 d'abril de 2005 Darwin 7.9 Mac OS X 10.3.9
29 d’abril de 2005 Darwin 8.0 Mac OS X Tiger
16 de maig de 2005 Darwin 8.1 Mac OS X 10.4.1
12 de juny de 2005 Darwin 8.2 Mac OS X 10.4.2
31 d’octubre de 2005 Darwin 8.3
10 de gener del 2006 Darwin 8.4 Mac OS X 10.4.4
14 de febrer del 2006 Darwin 8.5 Mac OS X 10.4.5
3 d'abril de 2006 Darwin 8.5 Mac OS X 10.4.6
8 d’agost del 2006 Darwin 8.6 Mac OS X 10.4.7
Darwin 8.8 Mac OS X 10.4.8
Darwin 8.9 Mac OS X 10.4.9
26 d’octubre de 2007 Darwin 9.0 Mac OS X Leopard IPhone OS 1
15 de novembre de 2007 Darwin 9.1 Mac OS X 10.5.1 IPhone OS 2
11 de febrer de 2008 Darwin 9.2 Mac OS X 10.5.2
19 de març de 2008 Darwin 9.2.2 Time Machine i AirPort Update v 1.0 (Mac OS X 10.5.2)
28 de maig de 2008 Darwin 9.3 Mac OS X 10.5.3
30 de juny de 2008 Darwin 9.4 Mac OS X 10.5.4
15 de setembre de 2008 Darwin 9.5 Mac OS X 10.5.5
15 de desembre de 2008 Darwin 9.6 Mac OS X 10.5.6
28 d’agost de 2009 Darwin 10.0 OS X Snow Leopard iOS 4
20 de juliol de 2011 Darwin 11.0 OS X Lion iOS 5
25 de juliol de 2012 Darwin 12.0 OS X Mountain Lion iOS 6
22 d’octubre de 2013 Darwin 13.0 OS X Mavericks iOS 7
1 de novembre de 2014 Darwin 14.0 OS X Yosemite iOS 8
16 de setembre de 2015 Darwin 15.0 OS X El Capitan iOS 9
13 de juny de 2016 Darwin 16.0 macOS Sierra iOS 10
25 de setembre de 2017 Darwin 17.0 macOS High Sierra iOS 11
24 de setembre de 2018 Darwin 18.0 macOS Mojave iOS 12
17 d’octubre de 2019 Darwin 19.0 macOS Catalina iOS 13
3 de setembre de 2020 Darwin 20.1 macOS Big Sur iOS 14

Tingueu en compte que les versions passen de l’1.4.1 a la 5.1. Se suposa que es va fer per continuar la numeració NEXTSTEP (NEXTSTEP va pujar a la versió 3.3 mentre que OPENSTEP es considera la versió 4.0).

Enllaços externs

Informació general

Documentació