stringtranslate.com

Cariño (software)

Darling es una capa de compatibilidad de macOS de código abierto y gratuita para Linux. [1] Duplica funciones de macOS al proporcionar implementaciones alternativas de las bibliotecas y los marcos que llaman los programas de macOS. [2] Este método de duplicación difiere de otros métodos que también podrían considerarse emulación, [3] donde los programas de macOS se ejecutan en una máquina virtual . [4] Se ha dicho que Darling es la contraparte de WINE para ejecutar aplicaciones de macOS. [5]

El proyecto comenzó en el verano de 2012 y se basa en un proyecto anterior, llamado maloader, que se interrumpió debido a la falta de tiempo. Se ha demostrado que la capa funciona con muchas aplicaciones de consola , como Midnight Commander , The Unarchiver , Python , etc. en la capa, pero también tiene soporte básico para aplicaciones gráficas basadas en el marco Cocoa. [6] [1] Darling tiene la capacidad de extraer imágenes de disco de Apple . [7]

El proyecto tiene como objetivo dar soporte a aplicaciones iOS en el futuro. [8]

Arquitectura

En la entrada del sistema Darling hay un cargador para binarios Mach-O , el formato ejecutable de los sistemas operativos de Apple . El predecesor de Darling, maloader, presentó un enfoque maximalista al problema al intentar replicar todo lo que hace el cargador de biblioteca dinámica dyld de Apple. Esto resultó ser difícil y, desde una "transición a Mach-O" en 2017, Darling ha estado usando un cargador liviano lo suficiente como para lanzar el cargador de código abierto dyld de Apple en su lugar. [9]

Para proporcionar a los binarios de macOS un núcleo , Darling utiliza un núcleo XNU modificado (con una licencia APSL) envuelto en un módulo de núcleo Linux con una licencia GPL. [ necesita actualización ] No es lo mismo que incluir código GPL en software APSL, y la licencia APSL permite la vinculación desde código con una licencia diferente (en este caso GPL). El módulo maneja el trabajo típico de un núcleo Mach , principalmente el manejo de puertos IPC . [10] Existen algunos problemas de licencia [ cita requerida ] en el módulo darling-mach, ya que el equipo está agregando modificaciones GNU GPL al núcleo APSL . [11] [ verificación fallida ]

El entorno raíz está por encima del núcleo. Darling, al igual que WINE, admite prefijos chroot , implementados mediante el sistema operativo Linux overlayfs (a diferencia de la traducción de rutas en WINE). Los espacios de nombres PID , IPC y UTS se utilizan para crear un contenedor para el sistema Darwin en su interior.

Los frameworks y bibliotecas de sistema de Darling se basan, en la medida de lo posible, en el código fuente publicado por Apple. La transición a Mach-O permite que estos frameworks se creen más fácilmente, porque ahora están creados en el formato Mach-O para el que fueron diseñados. [9] Para llenar los vacíos de muchos frameworks de nivel superior como Cocoa , Darling utiliza código de Cocotron, ApportableFoundation y GNUstep . [1]

Licencia

El sistema Darling más grande se basa en muchos componentes externos que utilizan varias licencias, todas ellas de código abierto. La licencia principal es GPLv3 . [12]

Enlaces externos

Referencias

  1. ^ abc "Cariño |". www.darlinghq.org . Archivado desde el original el 16 de junio de 2022 . Consultado el 17 de junio de 2022 .
  2. ^ "Ahora puedes usar 'Darling' para ejecutar software de macOS en Linux | Blog de iPhone en Canadá". 5 de octubre de 2020. Archivado desde el original el 17 de junio de 2022. Consultado el 17 de junio de 2022 .
  3. ^ González, Diego Germán (31/10/2021). «¿Programas de MacOS en Linux? Con Darling es posible». Linux Adictos . Consultado el 17/06/2022 .
  4. ^ Brodkin, Jon (6 de agosto de 2013). "Las aplicaciones de OS X se ejecutan en Linux con un emulador similar a Wine para software de Mac". Ars Technica . Consultado el 23 de enero de 2014 .
  5. ^ Lynch, Jim. "¿Podremos algún día ejecutar aplicaciones OS X en Linux con Darling?". InfoWorld . Consultado el 23 de julio de 2018 .
  6. ^ "Darling elige nuevos colaboradores para su capa de compatibilidad con macOS en Linux". www.phoronix.com . Archivado desde el original el 2022-06-17 . Consultado el 2022-06-17 .
  7. ^ "Instalación de software - Darling Docs". docs.darlinghq.org . Consultado el 27 de enero de 2022 .
  8. ^ Heath, Nick (15 de julio de 2013). "Las aplicaciones de OS X en camino a Linux gracias al proyecto Darling". ZDNet . Consultado el 23 de enero de 2014 .
  9. ^ ab Bugaev, Sergey (24 de julio de 2018). "Trucos de carga y enlace Mach-O" . Consultado el 12 de enero de 2020 .
  10. ^ "Instrucciones de compilación". Darling . Archivado desde el original el 21 de enero de 2020 . Consultado el 12 de enero de 2020 . Darling utiliza un módulo de kernel para proporcionar ciertas funciones específicas de OS X, principalmente Mach Ports IPC. Ninguna aplicación de OS X se puede ejecutar sin este módulo, ya que Libc requiere Mach Ports para su inicialización e incluso para cosas muy básicas como sleep().
  11. ^ "Problema: el código de Apple bajo la APSL es incompatible con la GPL". GitHub . Consultado el 12 de enero de 2020 .
  12. ^ "Cariño". GitHub . 16 de octubre de 2021.