stringtranslate.com

Darwin (sistema operativo)

Darwin es el sistema operativo Unix principal de macOS (anteriormente OS X y Mac OS X), iOS , watchOS , tvOS , iPadOS , visionOS y bridgeOS . Anteriormente existía como un sistema operativo independiente de código abierto , lanzado por primera vez por Apple Inc. en 2000. Está compuesto de código derivado de NeXTSTEP , FreeBSD , [3] otros sistemas operativos BSD , [6] Mach y otros proyectos de software libre . ', así como el código desarrollado por Apple.

Darwin es principalmente compatible con POSIX , pero nunca, por sí solo, ha sido certificado como compatible con ninguna versión de POSIX. A partir de Leopard , macOS ha sido certificado como compatible con la especificación única de UNIX versión 3 (SUSv3). [7] [8] [9]

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 (posteriormente, desde la versión 4.0, conocida 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 sistema 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 publicaría el código fuente para el micronúcleo Mach 2.5, el sistema operativo BSD Unix 4.4 y los componentes del servidor web Apache de Mac OS X Server. [10] En ese momento, el CEO interino Steve Jobs aludió al naturalista británico Charles Darwin al anunciar "porque se trata de evolución". [11] En 2000, los componentes principales del sistema operativo 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, lanzado en abril de 2005, 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. [12] Las actualizaciones menores se lanzaron como paquetes que se instalaron por separado. Darwin ahora sólo 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 arquitectura de macOS

Núcleo

El núcleo de Darwin es XNU , un núcleo híbrido que utiliza OSFMK 7.3 [13] (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 ), [14] y una API de controlador de dispositivo orientada a objetos llamada I/O Kit . [15] El diseño del núcleo híbrido proporciona la flexibilidad de un micronúcleo [16] [ verificación fallidaver discusión ] y el rendimiento de un núcleo monolítico . [17]

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. [18]

Darwin actualmente incluye soporte para la variante x86-64 de 64 bits de los procesadores Intel x86 utilizados en Mac basadas 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 más tarde, 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 los Mac con Apple Silicon como los Apple M1 de 2020 , así como el Raspberry Pi. 3B. [19] [20] Existe un puerto de código abierto del kernel XNU que admite Darwin en plataformas Intel y AMD x86 que Apple no admite oficialmente, aunque no parece haber sido actualizado desde 2009. [21] Un puerto de código abierto El puerto del kernel XNU también existe para plataformas ARM, aunque no se ha actualizado desde 2016. [22] 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 el área de usuario de FreeBSD ), por lo que una gran cantidad de programas escritos para otros sistemas similares a UNIX se pueden compilar en Darwin sin cambios en el código fuente .

Darwin no incluye muchos de los elementos que definen 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 funciones 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 lanzó 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 GNU . [23] 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 . [24]

Historial de lanzamientos

La siguiente es una tabla de los principales lanzamientos de Darwin con sus fechas de lanzamiento y sus lanzamientos de sistemas operativos derivados. [25] Tenga en cuenta que los lanzamientos correspondientes pueden haberse publicado 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 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). [30]

Darwin 9; Se presenta el sistema operativo iPhone

Darwin 10-11; iPhone OS renombrado a iOS

Darwin 12-15; Mac OS X rebautizado como OS X

Darwin 16-19; OS X renombrado 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 brindan la fecha de compilación del kernel XNU.

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 XNU , que incluye el número de versión de Darwin. El comando sw_vers mostrará el nombre del producto correspondiente ("macOS"), el número de versión del producto ("11.2.3") y la cadena BuildVersion ("20D91").

Proyectos derivados

Debido a la naturaleza de software libre de Darwin, ha habido proyectos que tienen como objetivo modificar o mejorar el sistema operativo.

AbiertoDarwin

GNOME ejecutándose en GNU-Darwin

OpenDarwin era un sistema operativo dirigido 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 se incorporarían mejoras a OpenDarwin en las versiones de Darwin; y la comunidad de código abierto/libre se benefició al tener control total sobre su propio sistema operativo, que luego podría usarse en distribuciones de software libre como GNU-Darwin. [38]

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. [39] 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". [40] La última versión estable fue la versión 7.2.1, lanzada el 16 de julio de 2004. [41]

PuroDarwin

PureDarwin fue un proyecto para crear una imagen de sistema operativo de arranque a partir del código fuente publicado por Apple para Darwin. [42] 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 GUI X11, [43] seguida de una línea de comandos solo 17.4 Beta basada en Darwin 17. [44]

Otros proyectos derivados

Creador de ventanas en XDarwin

Ver también

Referencias

  1. ^ "Descripción general de la arquitectura del kernel". Guía de programación del núcleo .
  2. ^ "darwin-xnu/README.md en 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". Manzana. 2002 . 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. ^ "Se requieren controladores binarios 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 del siguiente paso . Próximo . Archivado desde el original el 21 de noviembre de 2021 . Consultado el 26 de marzo de 2021 .
  7. ^ "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, que cumple con las especificaciones SUSv3 y POSIX 1003.1 para C API, Shell Utilities y Threads.
  8. ^ El Grupo Abierto (18 de mayo de 2007). "Certificación de Mac OS X Versión 10.5 Leopard en computadoras Macintosh basadas en Intel" . Consultado el 11 de febrero de 2013 .
  9. ^ "macOS versión 10.13 High Sierra en computadoras Mac basadas en Intel". El grupo abierto . Consultado el 19 de noviembre de 2017 .
  10. ^ Walsh, Jeff (22 de marzo de 1999). "Apple se vuelve de código abierto con componentes clave del sistema operativo". InfoMundo . vol. 21, núm. 12. IDG InfoWorld. pag. 40 . Consultado el 17 de febrero de 2020 .
  11. ^ Kahney, Leander. "Apple abre el código del sistema operativo". Cableado . Conde Nast . Consultado el 17 de febrero de 2020 .
  12. ^ "Directorio de descarga ISO de Apple". Archivado desde el original el 7 de octubre de 2016.
  13. ^ Jim Magee. WWDC 2000 Sesión 106 - Mac OS X: Núcleo. 14 minutos. Archivado desde el original el 11 de diciembre de 2021.
  14. ^ "Descripción general de la tecnología Mac: capa de controladores de dispositivo y kernel". Conexión de desarrollador de Apple . Consultado el 11 de febrero de 2013 .
  15. ^ Singh, Amit (7 de enero de 2004). "XNU: El núcleo". Archivado desde el original el 2 de junio de 2020 . Consultado el 11 de febrero de 2013 .
  16. ^ Roch, Benjamín. "Núcleo monolítico versus micronúcleo". CiteSeerX 10.1.1.89.9877 . 
  17. ^ "Funciones adicionales". Migración de aplicaciones UNIX/Linux a OS X. Apple Inc.
  18. ^ "Notas de la versión de Darwin 8.0.1". 29 de abril de 2005.
  19. ^ "Configuración de la placa XNU para BCM2837". GitHub . 16 de diciembre de 2021.
  20. ^ "Frambuesa Pi 3 Modelo B". Broadcom BCM2837 de cuatro núcleos a 1,2 GHz
  21. ^ "Fuente del kernel Voodoo XNU".Requiere un cliente Apache SVN.
  22. ^ "XNU en ARMv7". GitHub . 25 de enero de 2022.
  23. ^ "Opinión de la FSF sobre la licencia de fuente pública de Apple (APSL) 2.0".
  24. ^ "Los problemas con las versiones anteriores de la licencia de fuente pública de Apple (APSL)".
  25. ^ "Lanzamientos de código abierto". Conexión de desarrollador de Apple . Consultado el 11 de febrero de 2013 .
  26. ^ "Nota técnica TN2029: Mac OS X v10.1". Conexión de desarrollador de Apple . Archivado desde el original el 14 de noviembre de 2001.
  27. ^ Siracusa, John (5 de septiembre de 2002). "Mac OS X 10.2 Jaguar". Ars Técnica . Consultado el 31 de mayo de 2008 .
  28. ^ Siracusa, John (9 de noviembre de 2003). "Mac OS X 10.3 Pantera". Ars Técnica . Consultado el 31 de mayo de 2008 .
  29. ^ Siracusa, John (28 de abril de 2005). "Mac OS X 10.4 Tigre". Ars Técnica . Consultado el 30 de mayo de 2008 .
  30. ^ Prabhakar, Ernie (9 de noviembre de 2001). "Versión de Darwin: nuevo esquema en la actualización de software 1". desarrollo-darwin (lista de correo). Archivado desde el original el 14 de enero de 2009 . Consultado el 2 de junio de 2008 .
  31. ^ Siracusa, John (28 de octubre de 2007). "Mac OS X 10.5 Leopard: la revisión de Ars Technica". Ars Técnica . Consultado el 30 de mayo de 2008 .
  32. ^ Siracusa, John (31 de agosto de 2009). "Mac OS X 10.6 Snow Leopard: la revisión de Ars Technica". Ars Técnica . Consultado el 29 de noviembre de 2009 .
  33. ^ Como se encuentra en un iPhone 4S con jailbreak
  34. ^ "Extensiones del sistema y DriverKit - WWDC19 - Vídeos".
  35. ^ "Extensiones del sistema". Documentación para desarrolladores de Apple .
  36. ^ "Kit de controlador". Documentación para desarrolladores de Apple .
  37. ^ Extensiones del sistema y DriverKit. Documentación para desarrolladores de Apple .
  38. ^ "Abrir Darwin". Proyecto OpenDarwin. Archivado desde el original el 6 de enero de 2006.
  39. ^ Schofield, Jack (26 de julio de 2006). "OpenDarwin cerrando". El guardián . Consultado el 18 de marzo de 2023 .
  40. ^ Administradores y equipo central de OpenDarwin (25 de julio de 2006). "OpenDarwin cerrando". Proyecto OpenDarwin. Archivado desde el original el 4 de agosto de 2006.
  41. ^ "Lanzamiento de OpenDarwin 7.2.1". 5 de agosto de 2004. Archivado desde el original el 5 de agosto de 2004 . Consultado el 7 de octubre de 2019 .
  42. ^ "PuroDarwin".
  43. ^ Navidad pura de Darwin (2015)
  44. ^ "PureDarwin 17.4 Beta". GitHub . Puro Darwin. 30 de noviembre de 2019 . Consultado el 11 de enero de 2020 .
  45. ^ "Seguridad mejorada Darwin" . SE Darwin. 22 de enero de 2007. Archivado desde el original el 5 de octubre de 2011.
  46. ^ "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.
  47. ^ "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.
  48. ^ "Darling: capa de traducción de macOS para Linux". www.darlinghq.org . Consultado el 11 de enero de 2020 .
  49. ^ yuriwho (5 de mayo de 2002). "Página de inicio de WirelessDriver". Wirelessdriver.sourceforge.net . Consultado el 12 de julio de 2010 .
  50. ^ "iwi2200 Darwin". FuenteForge . 27 de marzo de 2009 . Consultado el 13 de junio de 2010 .
  51. ^ "Portar los controladores tulipán BSD al sistema operativo Darwin | Descargue los controladores tulipán Port BSD al software Darwin OS de forma gratuita en". FuenteForge.net . Consultado el 12 de julio de 2010 .
  52. ^ "Controlador de red RealTek para Mac OS X/Darwin". FuenteForge . 15 de marzo de 2006 . Consultado el 3 de junio de 2010 . Proyecto inactivo desde el 15 de marzo de 2006.
  53. ^ fanáticosui; et al. (1 de agosto de 2007). "RTL8150LMEternet". FuenteForge . Consultado el 13 de junio de 2010 .
  54. ^ "Controladores de módem ZyXEL para OS X/Darwin | Descargue el software controladores de módem ZyXEL para OS X/Darwin de forma gratuita en". FuenteForge.net. 14 de mayo de 2002 . Consultado el 12 de julio de 2010 .
  55. ^ "Controlador ATA de tarjeta PC para Mac OS X". Pccardata.sourceforge.net. 20 de diciembre de 2001 . Consultado el 12 de julio de 2010 .
  56. ^ "Sistema de archivos Mac OS X Ext2 | Descargue el software del sistema de archivos Mac OS X Ext2 de forma gratuita en". FuenteForge.net. 14 de octubre de 2002 . Consultado el 12 de julio de 2010 .
  57. ^ "sistema de archivos ext2 en el espacio del usuario". FuenteForge . 14 de julio de 2008 . Consultado el 13 de junio de 2010 .
  58. ^ "DarwinBSD". darwinbsd.tk . Consultado el 7 de abril de 2023 .

enlaces externos