Darwin (sistema operativo)
Darwin es un sistema operativo Unix de código abierto lanzado por primera vez por Apple Inc. en 2000. Está compuesto por código derivado de NeXTSTEP, BSD, Mach y otros proyectos de software libre. código, así como el código desarrollado por Apple.
Darwin forma el conjunto básico de componentes basados en Unix en los que se basan macOS (anteriormente OS X y Mac OS X), iOS, watchOS, tvOS, iPadOS y bridgeOS. Es en su mayoría compatible con POSIX, pero nunca, por sí mismo, ha sido certificado como compatible con ninguna versión de POSIX. A partir de Leopard, macOS ha sido certificado como compatible con Single UNIX Specification versión 3 (SUSv3).
Historia
La herencia de Darwin comenzó con los derivados de Unix complementados con aspectos del sistema operativo NeXTSTEP de NeXT (más tarde, desde la versión 4.0, conocido como OPENSTEP), lanzado por primera vez en 1989. Después de que Apple compró NeXT en 1996, lo anunció basaría su próximo sistema operativo en OPENSTEP. Esto se desarrolló en Rhapsody en 1997, Mac OS X Server 1.0 en 1999, Mac OS X Public Beta en 2000 y Mac OS X 10.0 en 2001.
En 1999, Apple anunció que lanzaría el código fuente para el microkernel Mach 2.5, el sistema operativo BSD Unix 4.4 y los componentes del servidor web Apache de Mac OS X Server. En ese momento, el director ejecutivo interino Steve Jobs aludió al naturalista británico Charles Darwin al anunciar 'porque se trata de evolución'. En 2000, los componentes principales del sistema operativo de Mac OS X se lanzaron como software de código abierto bajo la Licencia de fuente pública de Apple (APSL) como Darwin; los componentes de nivel superior, como los marcos Cocoa y Carbon, permanecieron de código cerrado.
Hasta Darwin 8.0.1, Apple lanzó un instalador binario (como una imagen ISO) después de cada versión importante de Mac OS X que permitía instalar Darwin en sistemas PowerPC e Intel x86 como un sistema operativo independiente. Se lanzaron actualizaciones menores como paquetes que se instalaron por separado. Darwin ahora solo está disponible como código fuente.
Diseño
Núcleo
El kernel de Darwin es XNU, un kernel híbrido que usa OSFMK 7.3 (Open Software Foundation Mach Kernel) de OSF, varios elementos de FreeBSD (incluido el modelo de proceso, la pila de red y el sistema de archivos virtual) y un objeto -API de controlador de dispositivo orientada llamada I/O Kit. El diseño del kernel híbrido proporciona la flexibilidad de un microkernel y el rendimiento de un kernel monolítico.
Soporte de hardware y software
Darwin actualmente incluye soporte para la variante x86-64 de 64 bits de los procesadores Intel x86 que se usan en las Mac basadas en Intel y los procesadores ARM de 64 bits que se usan en el iPhone 5S y posteriores, el iPod Touch de sexta generación, el iPod Touch de quinta iPad de última generación y posteriores, la familia iPad Air, el iPad Mini 2 y posteriores, la familia iPad Pro, los televisores Apple de cuarta generación y posteriores, la familia HomePod y las Mac con silicona de Apple como las Mac M1 2020 de Apple, así como la frambuesa pi 3B. Existe un puerto de código abierto del kernel XNU que admite Darwin en plataformas Intel y AMD x86 que no son compatibles oficialmente con Apple, aunque no parece haberse actualizado desde 2009. También existe un puerto de código abierto del kernel XNU para ARM plataformas Las versiones anteriores admitían algunos o todos los PowerPC de 32 bits, PowerPC de 64 bits, x86 de 32 bits y ARM de 32 bits.
Es compatible con la API POSIX a través de su linaje BSD (principalmente zona de usuarios de FreeBSD) y una gran cantidad de programas escritos para varios otros sistemas similares a UNIX se pueden compilar en Darwin sin cambios en el código fuente.
Darwin no incluye muchos de los elementos definitorios de macOS, como las API de Carbon y Cocoa o la interfaz de usuario de Quartz Compositor y Aqua, por lo que no puede ejecutar aplicaciones de Mac. Sin embargo, admite una serie de características menos conocidas de macOS, como mDNSResponder, que es el respondedor de DNS de multidifusión y un componente central de la tecnología de red Bonjour, y lanza un marco de gestión de servicios avanzado.
Licencia
En julio de 2003, Apple lanzó Darwin bajo la versión 2.0 de la Licencia de fuente pública de Apple (APSL), que la Free Software Foundation (FSF) clasifica como una licencia de software libre incompatible con la Licencia pública general de GNU. Las versiones anteriores se publicaron bajo una versión anterior de la licencia APSL, que no cumplía con la definición de software libre de la FSF, aunque sí cumplía con los requisitos de la definición de código abierto.
Historial de versiones
La siguiente es una tabla de los principales lanzamientos de Darwin con sus fechas de lanzamiento y los lanzamientos de sus sistemas operativos derivados. Tenga en cuenta que los lanzamientos correspondientes pueden haber sido lanzados en una fecha diferente.
Darwin 0–8 y versiones correspondientes de Mac OS X
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
0.1 | 16 de marzo de 1999 | Mac OS X Server 1.0 versiones |
|
0.2 | 14 de abril de 1999 | Mac OS X Server 1.0.1 | |
0.3 | 5 de agosto de 1999 | Basado en Rhapsody 5.5
| |
1.0 | 12 de abril de 2000 | Avance de desarrollador 3
| |
1.1 | 5 de abril de 2000 | Avance de desarrollador 4 | |
1.2.1 | 15 de noviembre de 2000 | Mac OS X Public Beta (llamado en código "Kodiak") | |
1.3.1 | 13 de abril de 2001 | Mac OS X v10.0 (llamado en código "Cheetah") |
|
1.4.1 | 2 de octubre de 2001 | Mac OS X v10.1 (nombre de código "Puma") |
|
5.1 | 12 de noviembre de 2001 | Mac OS X v10.1.1
| |
5,5 | 5 de junio de 2002 | Mac OS X v10.1.5 | |
6.0.1 | 23 de septiembre de 2002 | Mac OS X v10.2 (nombre de código "Jaguar") |
|
6.8 | 3 de octubre de 2003 | Mac OS X v10.2.8 | |
7.0 | 24 de octubre de 2003 | Mac OS X Panther | Mac OS X v10.3.0
|
7.9 | 15 de abril de 2005 | Mac OS X v10.3.9 | |
8.0 | 29 de abril de 2005 |
| Mac OS X v10.4.0
|
8.11 | 14 de noviembre de 2007 | Mac OS X v10.4.11 |
El salto en los números de versión de Darwin 1.4.1 a 5.1 con el lanzamiento de Mac OS X v10.1.1 se diseñó para vincular a Darwin con la versión de Mac OS X y el sistema de numeración de compilaciones, que a su vez se hereda de NeXTSTEP. En el sistema de numeración de compilación de macOS, cada versión tiene un número de compilación inicial único, que identifica de qué versión completa de macOS forma parte. Mac OS X v10.0 tenía números de compilación que comenzaban con 4, 10.1 tenía números de compilación que comenzaban con 5, y así sucesivamente (los números de compilación anteriores representaban versiones de desarrolladores).
Darwin 9; iPhone OS presentado
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
9.0 | 26 de octubre de 2007 |
| Mac OS X v10.5.0
|
9.8 | 5 de agosto de 2009 | Mac OS X v.10.5.8 |
Darwin 10-11; iPhone OS renombrado a iOS
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
10.0 | 28 de agosto de 2009 |
| Mac OS X v10.6.0
|
10.8 | 23 de junio de 2011 | Mac OS X v10.6.8 | |
11.0.0 | 20 de julio de 2011 |
| Mac OS X v10.7.0
|
11.4.2 | 4 de octubre de 2012 | Mac OS X v10.7.5 (suplementario) |
Darwin 12–15; Mac OS X renombrado como OS X
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
12.0.0 | 16 de febrero de 2012 | OS X León de Montaña | OS X v10.8.0
|
12.6.0 | 27 de enero de 2015 | OS X v10.8.5 (con Actualización de Seguridad 2015-001) | |
13.0.0 | 11 de junio de 2013 |
| OS X v10.9.0
|
13.4.0 | 17 de septiembre de 2014 | OS X v10.9.5 | |
14.0.0 | 18 de septiembre de 2014 |
| OS X v10.10.0 |
14.5.0 | Agosto 13, 2015 | OS X v10.10.5 | |
15.0.0 | 16 de septiembre de 2015 |
| OS X v10.11.0 e iOS 9.0
|
15.6.0 | 18 de julio de 2016 | OS X v10.11.6 e iOS 9.3.3 |
Darwin 16–19; OS X renombrado en macOS
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
16.0.0 | Septiembre 13, 2016 |
| macOS v10.12.0 e iOS 10.0.1 (versión de lanzamiento inicial)
|
16.5.0 | Marzo 27, 2017 | macOS v10.12.4 e iOS 10.3
| |
16.6.0 | 19 de julio de 2017 | macOS v10.12.6 e iOS 10.3.3 | |
17.0.0 | Septiembre 19, 2017 |
|
|
17.5.0 | 29 de marzo de 2018 | macOS 10.13.4
| |
17.6.0 | Junio 1, 2018 | macOS v10.13.5 | |
17.7.0 | 9 de julio de 2018 | macOS v10.13.6 e iOS 11.4.1 | |
18.0.0 | 24 de septiembre de 2018 |
| |
18.2.0 | 30 de octubre de 2018 | macOS v10.14.1 e iOS 12.1
| |
19.0.0 | 19 de septiembre de 2019 |
| |
19.2.0 | 10 de diciembre de 2019 | macOS 10.15.2 e iOS 13.3 | |
19.3.0 | 28 de enero de 2020 | macOS 10.15.3 e iOS 13.3.1
| |
19.4.0 | 24 de marzo de 2020 | ||
19.5.0 | 30 de abril de 2020 | macOS 10.15.5 e iOS 13.5 | |
19.6.0 | Junio 1, 2020 | macOS 10.15.6 beta 2 e iOS 13.6.0 beta 2 |
Darwin 20 en adelante
Versión | Fecha | Correcciones de correspondencia | Notas |
---|---|---|---|
20.0.0 | 22 de junio de 2020 |
| macOS 11.0 beta 1 e iOS 14.0 beta 1 |
20.1.0 | Septiembre 3, 2020 | macOS 11.0 e iOS 14.0 | |
20.2.0 | 12 de noviembre de 2020 | macOS 11.1 e iOS 14.3 | |
20.3.0 | Febrero 1, 2021 | macOS 11.2, iOS 14.4, iPadOS 14.4, watchOS 7.3 y tvOS 14.4. | |
20.4.0 | 20 de abril de 2021 | macOS 11.3, iOS 14.5, iPadOS 14.5, watchOS 7.4 y tvOS 14.5. | |
20.5.0 | 24 de mayo de 2021 | macOS 11.4 e iOS 14.6 | |
20.6.0 | Junio 2, 2021 | macOS 11.5 beta 2 e iOS 14.7 beta 2 | |
21.0.0 | 7 de junio de 2021 |
| macOS 12.0 beta 1 e iOS 15.0 beta 1 |
21.0.1 | 25 de octubre de 2021 | macOS 12.0 | |
21.1.0 | 25 de octubre de 2021 | macOS 12.0.1 e iOS 15.0 | |
21.2.0 | 7 de diciembre de 2021 | macOS 12.1 e iOS 15.2 | |
21.3.0 | 26 de enero de 2022 | macOS 12.2 e iOS 15.3 | |
21.4.0 | 14 de marzo de 2022 | macOS 12.3 e iOS 15.4 | |
21.5.0 | 24 de junio de 2022 | macOS 12.4 e iOS 15.5 | |
21.6.0 | 20 de julio de 2022 | macOS 12.5 e iOS 15.6 | |
22.0 | Junio 6, 2022 | macOS Ventura
iOS 16 watchOS 9 tvOS 16 bridgeOS 7 | macOS 13.0 beta 1 e iOS 16.0 beta 1 |
22.1.0 | 24 de octubre, 2022 | macOS 13.0 e iOS 16.0 | |
22.2.0 | 13 de diciembre de 2022 | macOS 13.1 |
El comando uname -r en Terminal mostrará el número de versión de Darwin ("20.3.0"), y el comando uname -v mostrará la cadena de versión de compilación de XNU, que incluye el número de versión de Darwin. El comando sw_vers mostrará el ProductName correspondiente ("macOS"), el número de ProductVersion ("11.2.3") y la cadena BuildVersion ("20D91").
Proyectos derivados
Debido a la naturaleza de software libre de Darwin, ha habido proyectos que apuntan a modificar o mejorar el sistema operativo.
OpenDarwin
OpenDarwin era un sistema operativo liderado por la comunidad basado en el sistema Darwin. Fue fundada en abril de 2002 por Apple Inc. e Internet Systems Consortium. Su objetivo era aumentar la colaboración entre los desarrolladores de Apple y la comunidad de software libre. Apple se benefició del proyecto porque las mejoras de OpenDarwin se incorporarían a las versiones de Darwin; y la comunidad de código libre/abierto se benefició al tener un control completo sobre su propio sistema operativo, que luego podría usarse en distribuciones de software libre como GNU-Darwin.
El 25 de julio de 2006, el equipo de OpenDarwin anunció que el proyecto se cerraría, ya que consideraban que OpenDarwin se había "convertido en una mera instalación de alojamiento para proyectos relacionados con Mac OS X" y que los esfuerzos por crear un sistema operativo Darwin independiente había fallado. También afirman: "La disponibilidad de fuentes, la interacción con representantes de Apple, la dificultad para crear y rastrear fuentes y la falta de interés de la comunidad han contribuido a esto". La última versión estable fue la versión 7.2.1, lanzada el 16 de julio de 2004.
Puro Darwin
PureDarwin es un proyecto para crear una imagen de sistema operativo de arranque a partir del código fuente publicado por Apple para Darwin. Desde la interrupción de OpenDarwin y el lanzamiento de imágenes de arranque desde Darwin 8.x, ha sido cada vez más difícil crear un sistema operativo completo, ya que muchos componentes se vuelven de código cerrado. En 2015, el proyecto creó una versión preliminar basada en Darwin 9 con una interfaz gráfica de usuario X11, seguida de una versión beta 17.4 de solo línea de comandos basada en Darwin 17.
Otros proyectos derivados
- MacPorts (antes DarwinPorts), Fink y Homebrew son proyectos para pasar programas UNIX al sistema operativo Darwin y proporcionar gestión de paquetes. Además, varios gestores de paquetes UNIX estándar, como RPM, pkgsrc y Portage, tienen puertos Darwin. Algunos de ellos operan en su propio espacio de nombres para no interferir con el sistema base.
- GNU-Darwin es un proyecto que transporta paquetes de software libre a Darwin. Envasan imágenes OS de una manera similar a una distribución Linux.
- El proyecto Darwine fue un puerto de Wine que permite ejecutar software Microsoft Windows en Darwin.
- SEDarwin es un puerto de TrustedBSD marco obligatorio de control de acceso y porciones del marco SELinux a Darwin. Se incorporó a Mac OS X 10.5.
- El proyecto Darbat es un puerto experimental de Darwin a la familia de microkernel L4. Su objetivo es ser compatible con los binarios existentes de Darwin.
- El proyecto Darling es una capa de compatibilidad para ejecutar binarios macOS en sistemas Linux. Usa algún código fuente de Darwin.
- Hay varios proyectos que se centran en el soporte de controlador: por ejemplo, controladores inalámbricos, controladores de módem NIC cableados, lectores de tarjetas, y los sistemas de archivos ext2 y ext3.
Contenido relacionado
PalabraEstrella
IBM 704
Simula