Darwin (sistema operativo)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Sistema operativo informático

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.

Historia simplificada de sistemas operativos similares a Unix

Diseño

Diagrama de arquitectura macOS

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
  • Liberación inicial
  • 0.1 es contrivado (para clasificar e identificar) ya que esto se identificó simplemente como Rhapsody 5.3
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
  • La imagen ISO está disponible en archive.org
  • Después de este punto el núcleo cambió de la NeXTSTEP/OPENSTEP/Rhapsody al nuevo XNU para Mac OS X
1.0 12 de abril de 2000 Avance de desarrollador 3
  • La imagen ISO está disponible en archive.org
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")
  • Primer lanzamiento comercial de Darwin
  • Todas las versiones de Cheetah (v10.0.0-4) tenían la misma versión de Darwin.
1.4.1 2 de octubre de 2001 Mac OS X v10.1 (nombre de código "Puma")
  • Mejoras de rendimiento para "tiempo de arranque, hilos en tiempo real, gestión de hilos, manipulación de cachés y manipulación de preenciones"
  • Soporte para sistema de archivos de red SMB
  • Wget reemplazado por cURL.
5.1 12 de noviembre de 2001 Mac OS X v10.1.1
  • Cambio en el esquema de numeración para coincidir con el esquema de numeración de Mac OS X
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")
  • GCC upgraded from 2 to 3.1
  • IPv6 y soporte IPSec
  • mDNSResponder service discovery daemon (Rendezvous)
  • Adición de CUPS, Ruby y Python
  • Soporte de publicaciones en HFS+ (Darwin 6.2)
  • Perfiles de aplicación ("archivos pre-calor") para un lanzamiento más rápido del programa.
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
  • La capa BSD sincronizada con FreeBSD 5
  • Defragmentación automática de archivos, agrupación de archivos calientes y sensibilidad de caso opcional en HFS+
  • Bash en lugar de tcsh como shell predeterminado
  • Solo ayuda de NTFS (Darwin 7.9)
7.9 15 de abril de 2005 Mac OS X v10.3.9
8.0 29 de abril de 2005
  • Mac OS X Tiger
  • Mac OS X para Apple TV
Mac OS X v10.4.0
  • Descarga para Darwin 8.0.1 se puede encontrar aquí
  • Mac OS X para Apple TV en Darwin 8.8.2
  • Interfaz de programación del núcleo estable, bloqueo del núcleo afinado, capa BSD de 64 bits
  • marco de gestión de servicios lanzado
  • Atributos de archivo extendidos, listas de control de acceso
  • Comandos como cp y mv actualizados para preservar atributos extendidos y tenedores de recursos
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 Leopard
  • iPhone OS 1
Mac OS X v10.5.0
  • iPhone OS 1 soporte en Darwin 9.0.0d1
  • Cumplimiento completo de POSIX, mejora del modelo de programación de procesos jerárquicos, archivos de swap asignados dinámicamente, límites de recursos dinámicos (para archivos y procesos), proceso de sandboxing, dirección de diseño aleatorio, marco de localización DTrace, eventos del sistema de archivos daemon, enlaces duros directorio
  • Apache 1.3 y PHP 4 actualizados a Apache 2.2 y PHP 5, solo con soporte ZFS.
  • Primer núcleo de Darwin utilizado para dispositivos iPhone.
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 Snow Leopard
  • iOS 4
Mac OS X v10.6.0
  • Fin del apoyo oficial a la arquitectura PPC (aunque varios binarios de grasa, como Kernel, todavía contienen imágenes PPC)
  • kernel de 64 bits y controladores
  • Marco de paralización de la tarea de libdispatch
  • OpenCL heterogeneous computing framework
  • Apoyo inicial para la contabilidad automática de referencia
  • Soporte para bloques en C
  • Compresión de archivo transparente en HFS+.
10.8 23 de junio de 2011 Mac OS X v10.6.8
11.0.0 20 de julio de 2011
  • Mac OS X Lion
  • iOS 5
Mac OS X v10.7.0
  • XNU ya no soporta binarios PPC (grasa binaria solamente para i386, x86_64).
  • XNU requiere un procesador x86_64, excepto para iOS basado en ARM.
  • Mejorado sandboxing de aplicaciones
  • Soporte completo para Conteo de Referencias Automáticas
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
  • Mac OS X fue remarcado en OS X.
  • Objetivo-C colección de basura fue deprecatada a favor de la contabilidad automática de referencia
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 Mavericks
  • iOS 6
OS X v10.9.0
  • Compresión de memoria virtual
  • Timer coalescing
  • OpenGL 4.1 y OpenCL 1.2
  • Server Message Block versión 2 (SMB2) es ahora el protocolo predeterminado para compartir archivos en lugar de AFP. Esto es aumentar el rendimiento y la compatibilidad entre plataformas.
  • IPoTB (Protocolo de Internet sobre Thunderbolt Bridge).
  • Se ha eliminado la API de transporte abierto
13.4.0 17 de septiembre de 2014 OS X v10.9.5
14.0.0 18 de septiembre de 2014
  • OS X Yosemite
  • iOS 7, iOS 8
  • watchOS 1
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 El Capitan
  • iOS 9
  • watchOS 2
  • tvOS 9
OS X v10.11.0 e iOS 9.0
  • Protección de integridad del sistema. Protege que ciertas partes del sistema sean modificadas o manipuladas por un proceso, incluso si se ejecutan por root o por un usuario con privilegios de raíz.
  • sudo está configurado con la bandera "tty_tickets" por defecto, restringiendo el tiempo de sesión a la sesión terminal (como una ventana o pestaña) en la que el usuario autentificó el programa.
  • LibreSSL reemplaza OpenSSL
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 Sierra
  • iOS 10
  • watchOS 3
  • tvOS 10
  • bridgeOS 1
macOS v10.12.0 e iOS 10.0.1 (versión de lanzamiento inicial)
  • OS X fue remarcado en macOS.
  • Escribir a /Volumes directorio ahora está restringido al usuario root o cualquier usuario con privilegios root
  • Integridad del sistema La protección ahora abarca /Library/Application Support/com.apple.TCC directorio que contiene una lista de aplicaciones que se permiten "controlar el ordenador"
  • Objetivo-C recogida de basura removida y reemplazada por Conteo de Referencia Automática que fue introducido con Darwin v12.0 (OS X v10.8). Aplicaciones Objetivo-C que utilizan la recolección de basura ya no funcionarán.
  • Se removió el apoyo nativo al PPTP.
16.5.0 Marzo 27, 2017 macOS v10.12.4 e iOS 10.3
  • Cambio de sistema de archivos de HFS+ a APFS en dispositivos iOS. APFS ya está disponible en macOS desde 10.12.0 pero no se puede utilizar en la partición de arranque.
16.6.0 19 de julio de 2017 macOS v10.12.6 e iOS 10.3.3
17.0.0 Septiembre 19, 2017
  • macOS Sierra alta
  • iOS 11
  • watchOS 4
  • tvOS 11
  • bridgeOS 2
  • APFS reemplaza HFS+ como el sistema de archivos predeterminado para la partición de arranque en macOS en Macs con almacenamiento flash. En Mac con HDDs, la partición de arranque debe ser reformateada para usar APFS.
  • ntpd reemplazado por tiempo como servicio de sincronización de tiempo
  • Los comandos FTP y telnet son eliminados.
  • Las extensiones de kernel ("kexts") requerirán la aprobación explícita del usuario antes de poder correr.
17.5.0 29 de marzo de 2018 macOS 10.13.4
  • Soporte para procesadores gráficos externos usando Thunderbolt 3, y elimina el soporte para procesadores gráficos externos usando Thunderbolt 1 y 2.
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
  • macOS Mojave
  • iOS 12
  • watchOS 5
  • tvOS 12
  • bridgeOS 3
18.2.0 30 de octubre de 2018 macOS v10.14.1 e iOS 12.1
  • Añadido soporte para el nuevo Radeon Vega 20 GPUs en los nuevos MacBooks
19.0.0 19 de septiembre de 2019
  • macOS Catalina
  • iOS 13
  • watchOS 6
  • tvOS 13
  • bridgeOS 4
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
  • Extensiones del sistema reemplazan Kexts y se ejecuta en el espacio de usuario, fuera del kernel.
  • DriverKit reemplaza I/O Kit. Presenta "Dexts" (Extensiones de River) que se construyen utilizando DriverKit. Driverkit es un nuevo SDK con todos los nuevos marcos basados en IOKit, pero está actualizado y modernizado. Los controladores de dispositivo funcionan en el espacio de usuario, fuera del núcleo.
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 Big Sur
  • iOS 14
  • watchOS 7
  • tvOS 14
  • bridgeOS 5
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 Monterey
  • iOS 15
  • watchOS 8
  • tvOS 15
  • bridgeOS 6
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

GNOME corriendo en 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

WordStar es una aplicación de procesador de textos para microcomputadoras. Fue publicado por MicroPro International y originalmente escrito para el sistema...

IBM 704

La IBM 704 es una gran computadora central digital presentada por IBM en 1954. Fue la primera computadora producida en masa con hardware para aritmética de...

Simula

Simula es el nombre de dos lenguajes de programación de simulación, Simula I y Simula 67, desarrollados en la década de 1960 en el Norwegian Computing...
Más resultados...
Tamaño del texto:
Copiar