Darwin es mayoritariamente compatible con POSIX , pero nunca ha sido certificado como compatible con ninguna versión de POSIX. A partir de Leopard , macOS ha sido certificado como compatible con la Single UNIX Specification versión 3 (SUSv3). [8] [9] [10]
Historia
La herencia de Darwin comenzó con 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 comprara NeXT en 1996, anunció que basaría su próximo sistema operativo en OPENSTEP. Este 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.
Hasta Darwin 8.0.1, lanzado en abril de 2005, Apple lanzó un instalador binario (como una imagen ISO ) después de cada lanzamiento importante de Mac OS X que permitía instalar Darwin en sistemas PowerPC e Intel x86 como un sistema operativo independiente. [13] Las actualizaciones menores se lanzaron como paquetes que se instalaron por separado. Darwin ahora solo está disponible como código fuente. A partir de enero de 2023, Apple ya no menciona a Darwin por su nombre en su sitio web de código abierto y solo publica una colección incompleta de proyectos de código abierto relacionados con macOS e iOS.
La última versión completa de arranque de Darwin admitía sistemas Apple PowerPC de 32 y 64 bits y PC Intel de 32 bits. [19]
Darwin actualmente incluye soporte para la variante x86-64 de 64 bits de los procesadores Intel x86 utilizados en Mac basados en Intel y los procesadores ARM de 64 bits utilizados en el iPhone 5S y posteriores, el iPod Touch de sexta generación , el iPad de quinta generación y posteriores, la familia iPad Air , el iPad Mini 2 y posteriores, la familia iPad Pro , los Apple TV de cuarta generación y posteriores , la familia HomePod y las Mac con silicio de Apple como las Mac Apple M1 de 2020 , así como la Raspberry Pi 3B. [20] [21] Existe un puerto de código abierto del kernel XNU que soporta Darwin en plataformas Intel y AMD x86 no soportadas oficialmente por Apple, aunque no parece haber sido actualizado desde 2009. [22] También existe un puerto de código abierto del kernel XNU para plataformas ARM, aunque no ha sido actualizado desde 2016. [23] Las versiones anteriores soportaban algunos o todos los PowerPC de 32 bits , PowerPC de 64 bits, x86 de 32 bits y ARM de 32 bits.
La siguiente es una tabla de las principales versiones de Darwin con sus fechas de lanzamiento y las versiones de sus sistemas operativos derivados. [26] Tenga en cuenta que las versiones correspondientes pueden haberse lanzado en una fecha diferente.
Darwin 0–8 y versiones correspondientes de Mac OS X
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 fue diseñado para vincular Darwin con el sistema de numeración de versiones y compilaciones de Mac OS X, que a su vez es heredado de NeXTSTEP. En el sistema de numeración de compilaciones de macOS, cada versión tiene un número de compilación inicial único, que identifica de qué versión completa de macOS es 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). [31]
Darwin 9; se presenta el sistema operativo iPhone
Darwin 10-11; el sistema operativo iPhone cambia de nombre a iOS
Darwin 12–15; Mac OS X cambió su nombre a OS X
Darwin 16–19; OS X cambió su nombre a macOS
Darwin 20 en adelante
Nota: las tablas anteriores contienen las fechas de lanzamiento de las versiones correspondientes del sistema operativo. Las fechas de compilación de las versiones de Darwin no están disponibles públicamente; los comandos a continuación solo indican la fecha de compilación del kernel XNU.
El comando uname -r en la 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 ("macOS") correspondiente, el número de ProductVersion ("11.2.3") y la cadena BuildVersion ("20D91").
Proyectos derivados
Debido a la naturaleza de software libre de Darwin, han existido proyectos que apuntan a modificar o mejorar el sistema operativo.
OpenDarwin
OpenDarwin fue un sistema operativo comunitario basado en el sistema Darwin. Fue fundado 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 en las versiones de Darwin; y la comunidad libre/de código abierto se benefició al tener control total sobre su propio sistema operativo, que luego podría usarse en distribuciones de software libre como GNU-Darwin. [39]
El 25 de julio de 2006, el equipo de OpenDarwin anunció que el proyecto se cerraría, ya que sentían que OpenDarwin se había "convertido en una mera instalación de alojamiento para proyectos relacionados con Mac OS X", y que los esfuerzos para crear un sistema operativo Darwin independiente habían fracasado. [40] También afirman: "La disponibilidad de fuentes, la interacción con los representantes de Apple, la dificultad para crear y rastrear fuentes y la falta de interés de la comunidad han contribuido a esto". [41] La última versión estable fue la versión 7.2.1, lanzada el 16 de julio de 2004. [42]
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. [43] Desde la suspensió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 pasaron a ser 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, [44] seguida de una versión Beta 17.4 basada únicamente en línea de comandos basada en Darwin 17. [45]
Otros proyectos derivados
XQuartz es un componente del sistema X Window que se ejecuta en macOS (Darwin). XDarwin , antes de la introducción de la aplicación X11.app de Apple.
MacPorts (anteriormente DarwinPorts), Fink y Homebrew son proyectos para portar programas de UNIX al sistema operativo Darwin y proporcionar administración de paquetes . Además, varios administradores de paquetes estándar de UNIX, como RPM , pkgsrc y Portage , tienen puertos de Darwin. Algunos de ellos operan en su propio espacio de nombres para no interferir con el sistema base.
GNU-Darwin fue un proyecto que traslada paquetes de software libre a Darwin. Empaquetan imágenes de SO de una manera similar a una distribución Linux .
El proyecto Darbat fue un puerto experimental de Darwin para la familia de microkernels L4 . Su objetivo es ser compatible con los binarios de Darwin existentes. [48]
El proyecto Darling es una capa de compatibilidad para ejecutar binarios de macOS en sistemas Linux. Utiliza parte del código fuente de Darwin. [49]
Hay varios proyectos que se centran en el soporte de controladores: por ejemplo, controladores inalámbricos, [50] [51] controladores de NIC cableados , [52] [53] [54] controladores de módem, [55] lectores de tarjetas, [56] y los sistemas de archivos ext2 y ext3 . [57] [58]
El proyecto DarwinBSD es un proyecto de Darwin que utiliza pkgsrc para los paquetes. Es un proyecto de código abierto. [59]
^ "Descripción general de la arquitectura del núcleo". Guía de programación del núcleo . Archivado desde el original el 9 de mayo de 2019. Consultado el 27 de mayo de 2019 .
^ "darwin-xnu/README.md at master". GitHub . Archivado desde el original el 31 de marzo de 2019 . Consultado el 21 de noviembre de 2019 .
^ ab «Descripción general de Apple BSD». Apple. 2002. Archivado desde el original el 7 de noviembre de 2018. Consultado el 1 de enero de 2002 .
^ "Apple - Fuente pública - Preguntas frecuentes sobre Darwin". Archivado desde el original el 19 de noviembre de 2004. Consultado el 9 de agosto de 2021 .
^ "Controladores binarios necesarios para PureDarwin". Archivado desde el original el 18 de noviembre de 2009. Consultado el 20 de julio de 2009 .
^ "1. Descripción general del sistema". Conceptos de NeXTstep . NeXT . Archivado desde el original el 21 de noviembre de 2021 . Consultado el 26 de marzo de 2021 .
^ http://www.hexley.com/
^ "Mac OS X Leopard - Tecnología - UNIX". Descripción general de la tecnología Leopard . Apple Inc. Archivado desde el original el 27 de diciembre de 2008. Leopard es ahora un producto registrado de marca abierta UNIX 03, conforme a las especificaciones SUSv3 y POSIX 1003.1 para la API de C, las utilidades de shell y los subprocesos.
^ The Open Group (18 de mayo de 2007). «Certificación de Mac OS X versión 10.5 Leopard en computadoras Macintosh basadas en Intel». Archivado desde el original el 25 de octubre de 2019. Consultado el 11 de febrero de 2013 .
^ "MacOS versión 10.13 High Sierra en computadoras Mac basadas en Intel". The Open Group. Archivado desde el original el 28 de septiembre de 2017. Consultado el 19 de noviembre de 2017 .
^ Walsh, Jeff (22 de marzo de 1999). "Apple se vuelve de código abierto con componentes clave del sistema operativo". InfoWorld . Vol. 21, no. 12. IDG InfoWorld. p. 40 . Consultado el 17 de febrero de 2020 .
^ Kahney, Leander. «Apple abre el código del sistema operativo». Wired . Condé Nast. Archivado desde el original el 17 de febrero de 2020. Consultado el 17 de febrero de 2020 .
^ "Directorio de descarga de ISO de Apple". Archivado desde el original el 7 de octubre de 2016.
^ Jim Magee. WWDC 2000, sesión 106: Mac OS X: Kernel. 14 minutos. Archivado desde el original el 11 de diciembre de 2021.
^ "Descripción general de la tecnología Mac: capa de controladores de dispositivos y núcleo". Apple Developer Connection . Archivado desde el original el 9 de marzo de 2014. Consultado el 11 de febrero de 2013 .
^ Singh, Amit (7 de enero de 2004). «XNU: The Kernel». Archivado desde el original el 2 de junio de 2020. Consultado el 11 de febrero de 2013 .
^ Roch, Benjamin. "Núcleo monolítico frente a micronúcleo". CiteSeerX 10.1.1.89.9877 .
^ "Características adicionales". Cómo portar aplicaciones UNIX/Linux a OS X . Apple Inc. Archivado desde el original el 14 de noviembre de 2017 . Consultado el 13 de noviembre de 2017 .
^ "Notas de la versión de Darwin 8.0.1". 29 de abril de 2005. Archivado desde el original el 28 de octubre de 2023. Consultado el 16 de agosto de 2023 .
^ "Configuración de la placa XNU para BCM2837". GitHub . 16 de diciembre de 2021. Archivado desde el original el 5 de diciembre de 2021 . Consultado el 5 de diciembre de 2021 .
^ "Raspberry Pi 3 Model B". Archivado desde el original el 5 de diciembre de 2021 . Consultado el 5 de diciembre de 2021 . Quad Core 1.2GHz Broadcom BCM2837
^ "Fuente del kernel de Voodoo XNU". Archivado desde el original el 30 de septiembre de 2015. Consultado el 25 de abril de 2014 .Requiere un cliente Apache SVN.
^ "Opinión de la FSF sobre la licencia de código público de Apple (APSL) 2.0". Archivado desde el original el 4 de mayo de 2020. Consultado el 22 de julio de 2016 .
^ "Los problemas con las versiones anteriores de la Licencia de código público de Apple (APSL)". Archivado desde el original el 19 de abril de 2020. Consultado el 22 de julio de 2016 .
^ "Nota técnica TN2029: Mac OS X v10.1". Apple Developer Connection . Archivado desde el original el 14 de noviembre de 2001.
^ Siracusa, John (5 de septiembre de 2002). "Mac OS X 10.2 Jaguar". Ars Técnica . Consultado el 31 de mayo de 2008 .
^ Siracusa, John (9 de noviembre de 2003). "Mac OS X 10.3 Pantera". Ars Técnica . Consultado el 31 de mayo de 2008 .
^ Siracusa, John (28 de abril de 2005). "Mac OS X 10.4 Tigre". Ars Técnica . Consultado el 30 de mayo de 2008 .
^ Prabhakar, Ernie (9 de noviembre de 2001). "Versión Darwin: nuevo esquema en la actualización de software 1". darwin-development (Lista de correo). Archivado desde el original el 14 de enero de 2009. Consultado el 2 de junio de 2008 .
^ Siracusa, John (28 de octubre de 2007). «Mac OS X 10.5 Leopard: la reseña de Ars Technica». Ars Technica . Consultado el 30 de mayo de 2008 .
^ Siracusa, John (31 de agosto de 2009). «Mac OS X 10.6 Snow Leopard: la reseña de Ars Technica». Ars Technica . Consultado el 29 de noviembre de 2009 .
^ "Extensiones del sistema y DriverKit - WWDC19 - Vídeos".
^ "SystemExtensions". Documentación para desarrolladores de Apple .
^ "DriverKit". Documentación para desarrolladores de Apple .
^ Extensiones del sistema y DriverKit. Documentación para desarrolladores de Apple .
^ "OpenDarwin". Proyecto OpenDarwin. Archivado desde el original el 6 de enero de 2006.
^ Schofield, Jack (26 de julio de 2006). «OpenDarwin se cierra». The Guardian . Consultado el 18 de marzo de 2023 .
^ Equipo central y administradores de OpenDarwin (25 de julio de 2006). "OpenDarwin se cierra". Proyecto OpenDarwin. Archivado desde el original el 4 de agosto de 2006.
^ "OpenDarwin 7.2.1 Released". 5 de agosto de 2004. Archivado desde el original el 5 de agosto de 2004. Consultado el 7 de octubre de 2019 .
^ "PureDarwin". Archivado desde el original el 1 de abril de 2024. Consultado el 1 de abril de 2024 .
^ PureDarwin Xmas Archivado el 3 de diciembre de 2019 en Wayback Machine (2015)
^ "PureDarwin 17.4 Beta". GitHub . PureDarwin. 30 de noviembre de 2019. Archivado desde el original el 13 de diciembre de 2019 . Consultado el 11 de enero de 2020 .
^ "Security Enhanced Darwin". SEDarwin. 22 de enero de 2007. Archivado desde el original el 5 de octubre de 2011.
^ "Novedades de Mac OS X: Mac OS X v10.5". Biblioteca de referencia de Mac OS X. Apple Inc. 13 de noviembre de 2009. Archivado desde el original el 8 de diciembre de 2009.
^ "L4/Darwin (también conocido como Darbat)". Ertos.nicta.com.au. 9 de mayo de 2007. Archivado desde el original el 19 de diciembre de 2013.
^ "Darling: capa de traducción de macOS para Linux". www.darlinghq.org . Archivado desde el original el 21 de abril de 2020. Consultado el 11 de enero de 2020 .
^ yuriwho (5 de mayo de 2002). «WirelessDriver Home Page». Wirelessdriver.sourceforge.net. Archivado desde el original el 28 de julio de 2020. Consultado el 12 de julio de 2010 .
^ "iwi2200 Darwin". SourceForge . 27 de marzo de 2009. Archivado desde el original el 18 de agosto de 2009 . Consultado el 13 de junio de 2010 .
^ "Portar el controlador(es) tulip de BSD a Darwin OS | Descargar el software Port BSD tulip driver(s) to Darwin OS gratis en". SourceForge.net. Archivado desde el original el 16 de julio de 2010. Consultado el 12 de julio de 2010 .
^ "Controlador de red RealTek para Mac OS X/Darwin". SourceForge . 15 de marzo de 2006. Archivado desde el original el 24 de julio de 2010 . Consultado el 3 de junio de 2010 .Proyecto inactivo desde el 15 de marzo de 2006.
^ fansui; et al. (1 de agosto de 2007). «RTL8150LMEthernet». SourceForge. Archivado desde el original el 7 de septiembre de 2008. Consultado el 13 de junio de 2010 .
^ "Controladores de módem ZyXEL para OS X/Darwin | Descargue el software de controladores de módem ZyXEL para OS X/Darwin de forma gratuita en". SourceForge.net. 14 de mayo de 2002. Archivado desde el original el 7 de enero de 2009. Consultado el 12 de julio de 2010 .
^ "Controlador ATA de tarjeta PC para Mac OS X". Pccardata.sourceforge.net. 20 de diciembre de 2001. Archivado desde el original el 5 de agosto de 2020. Consultado el 12 de julio de 2010 .
^ "Sistema de archivos Ext2 de Mac OS X | Descargue el software del sistema de archivos Ext2 de Mac OS X de forma gratuita en". SourceForge.net. 14 de octubre de 2002. Archivado desde el original el 22 de julio de 2010. Consultado el 12 de julio de 2010 .
^ "Sistema de archivos ext2 en el espacio de usuario". SourceForge . 14 de julio de 2008. Archivado desde el original el 26 de julio de 2010 . Consultado el 13 de junio de 2010 .
^ "DarwinBSD". darwinbsd.tk . Archivado desde el original el 23 de marzo de 2023 . Consultado el 7 de abril de 2023 .