stringtranslate.com

Darwin (sistema operativo)

Darwin es el sistema operativo tipo Unix principal de macOS , iOS , watchOS , tvOS , iPadOS , audioOS , visionOS y bridgeOS . Anteriormente existía como un sistema operativo de código abierto independiente, lanzado por primera vez por Apple Inc. en 2000. Está compuesto por código derivado de NeXTSTEP , FreeBSD , [3] otros sistemas operativos BSD , [6] Mach y el código de otros proyectos de software libre , así como código desarrollado por Apple. La mascota oficial de Darwin es Hexley el ornitorrinco. [7]

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

Historia simplificada de los sistemas operativos tipo Unix

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.

En 1999, Apple anunció que liberarí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. [11] En ese momento, el director ejecutivo interino Steve Jobs aludió al naturalista británico Charles Darwin al anunciar "porque se trata de evolución". [12] En 2000, los componentes centrales del sistema operativo de Mac OS X se lanzaron como software de código abierto bajo la Licencia de código público de Apple (APSL) como Darwin; los componentes de nivel superior, como los marcos Cocoa y Carbon , permanecieron como código cerrado .

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.

Diseño

Diagrama de la arquitectura de macOS

Núcleo

El núcleo de Darwin es XNU , un núcleo híbrido que utiliza OSFMK 7.3 [14] (Open Software Foundation Mach Kernel ) de la OSF , varios elementos de FreeBSD (incluido el modelo de proceso, la pila de red y el sistema de archivos virtual ), [15] y una API de controlador de dispositivo orientada a objetos llamada I/O Kit . [16] El diseño del núcleo híbrido proporciona la flexibilidad de un micronúcleo [17] [ verificación fallidaver discusión ] y el rendimiento de un núcleo monolítico . [18]

Soporte de hardware y software

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.

Admite la API POSIX a través de su linaje BSD (en gran parte, espacio de usuario de FreeBSD ), por lo que 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 Carbon y Cocoa o la interfaz de usuario Quartz Compositor y Aqua , y por lo tanto no puede ejecutar aplicaciones Mac. Sin embargo, admite una serie de características menos conocidas de macOS, como mDNSResponder, que es el respondedor DNS de multidifusión y un componente central de la tecnología de red Bonjour , y launchd , 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 Código Público 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 . [24] Las versiones anteriores fueron lanzadas 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 . [25]

Historial de versiones

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

GNOME ejecutándose en GNU-Darwin

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

Creador de ventanas en XDarwin

Véase también

Referencias

  1. ^ "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 .
  2. ^ "darwin-xnu/README.md at master". GitHub . Archivado desde el original el 31 de marzo de 2019 . Consultado el 21 de noviembre de 2019 .
  3. ^ 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 .
  4. ^ "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 .
  5. ^ "Controladores binarios necesarios para PureDarwin". Archivado desde el original el 18 de noviembre de 2009. Consultado el 20 de julio de 2009 .
  6. ^ "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 .
  7. ^ http://www.hexley.com/
  8. ^ "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.
  9. ^ 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 .
  10. ^ "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 .
  11. ^ 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 .
  12. ^ 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 .
  13. ^ "Directorio de descarga de ISO de Apple". Archivado desde el original el 7 de octubre de 2016.
  14. ^ Jim Magee. WWDC 2000, sesión 106: Mac OS X: Kernel. 14 minutos. Archivado desde el original el 11 de diciembre de 2021.
  15. ^ "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 .
  16. ^ 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 .
  17. ^ Roch, Benjamin. "Núcleo monolítico frente a micronúcleo". CiteSeerX 10.1.1.89.9877 . 
  18. ^ "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 .
  19. ^ "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 .
  20. ^ "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 .
  21. ^ "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
  22. ^ "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.
  23. ^ "XNU en ARMv7". GitHub . 25 de enero de 2022.
  24. ^ "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 .
  25. ^ "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 .
  26. ^ "Lanzamientos de código abierto". Apple Developer Connection . Consultado el 11 de febrero de 2013 .
  27. ^ "Nota técnica TN2029: Mac OS X v10.1". Apple Developer Connection . Archivado desde el original el 14 de noviembre de 2001.
  28. ^ Siracusa, John (5 de septiembre de 2002). "Mac OS X 10.2 Jaguar". Ars Técnica . Consultado el 31 de mayo de 2008 .
  29. ^ Siracusa, John (9 de noviembre de 2003). "Mac OS X 10.3 Pantera". Ars Técnica . Consultado el 31 de mayo de 2008 .
  30. ^ Siracusa, John (28 de abril de 2005). "Mac OS X 10.4 Tigre". Ars Técnica . Consultado el 30 de mayo de 2008 .
  31. ^ 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 .
  32. ^ 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 .
  33. ^ 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 .
  34. ^ Como se encontró en un iPhone 4S con jailbreak
  35. ^ "Extensiones del sistema y DriverKit - WWDC19 - Vídeos".
  36. ^ "SystemExtensions". Documentación para desarrolladores de Apple .
  37. ^ "DriverKit". Documentación para desarrolladores de Apple .
  38. ^ Extensiones del sistema y DriverKit. Documentación para desarrolladores de Apple .
  39. ^ "OpenDarwin". Proyecto OpenDarwin. Archivado desde el original el 6 de enero de 2006.
  40. ^ Schofield, Jack (26 de julio de 2006). «OpenDarwin se cierra». The Guardian . Consultado el 18 de marzo de 2023 .
  41. ^ 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.
  42. ^ "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 .
  43. ^ "PureDarwin". Archivado desde el original el 1 de abril de 2024. Consultado el 1 de abril de 2024 .
  44. ^ PureDarwin Xmas Archivado el 3 de diciembre de 2019 en Wayback Machine (2015)
  45. ^ "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 .
  46. ^ "Security Enhanced Darwin". SEDarwin. 22 de enero de 2007. Archivado desde el original el 5 de octubre de 2011.
  47. ^ "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.
  48. ^ "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.
  49. ^ "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 .
  50. ^ 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 .
  51. ^ "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 .
  52. ^ "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 .
  53. ^ "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.
  54. ^ 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 .
  55. ^ "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 .
  56. ^ "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 .
  57. ^ "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 .
  58. ^ "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 .
  59. ^ "DarwinBSD". darwinbsd.tk . Archivado desde el original el 23 de marzo de 2023 . Consultado el 7 de abril de 2023 .

Enlaces externos