Articulo de referencia

Linux cooperativo

Cooperative Linux , abreviado como coLinux , es un software que permite que Microsoft Windows y el kernel Linux se ejecuten simultáneamente en paralelo en la misma máquina. [2] ...

Cooperative Linux , abreviado como coLinux , es un software que permite que Microsoft Windows y el kernel Linux se ejecuten simultáneamente en paralelo en la misma máquina. [2]

Cooperative Linux utiliza el concepto de máquina virtual cooperativa (CVM). A diferencia de las máquinas virtuales tradicionales , la CVM comparte recursos que ya existen en el sistema operativo anfitrión. En los hosts de VM tradicionales, los recursos se virtualizan para cada sistema operativo (invitado). La CVM otorga a ambos sistemas operativos el control total de la máquina anfitriona, mientras que la VM tradicional establece a cada sistema operativo invitado en un estado sin privilegios para acceder a la máquina real.

Descripción general

Synaptic y Nautilus ejecutándose en Windows

El término "cooperativo" se utiliza para describir dos entidades que trabajan en paralelo. En efecto, Cooperative Linux convierte los dos núcleos de sistemas operativos diferentes en dos grandes corrutinas . Cada núcleo tiene su propio contexto de CPU y espacio de direcciones completos, y cada núcleo decide cuándo devolver el control a su socio.

Sin embargo, aunque ambos núcleos tienen teóricamente acceso completo al hardware real, el hardware de PC moderno no está diseñado para ser controlado por dos sistemas operativos diferentes al mismo tiempo. Por lo tanto, el núcleo anfitrión se queda con el control del hardware real y el núcleo invitado contiene controladores especiales que se comunican con el anfitrión y proporcionan varios dispositivos importantes al sistema operativo invitado. El anfitrión puede ser cualquier núcleo de sistema operativo que exporte primitivos básicos que permitan que el controlador portátil de Cooperative Linux se ejecute en modo CPL0 (ring 0) y asigne memoria. [3]

Historia

Dan Aloni comenzó originalmente el desarrollo de Cooperative Linux como un proyecto de investigación basado en un trabajo similar con User-mode Linux . [4] [5] Anunció el desarrollo el 25 de enero de 2004. [6] En julio de 2004 presentó un artículo en el Simposio de Linux. [7] El código fuente fue publicado bajo la Licencia Pública General de GNU . Desde entonces, otros desarrolladores han contribuido con varios parches y adiciones al software. [8]

Comparaciones

El Linux cooperativo es significativamente diferente de la virtualización x86 completa , que generalmente funciona ejecutando el sistema operativo invitado en un modo menos privilegiado que el del núcleo anfitrión y haciendo que todos los recursos sean delegados por el núcleo anfitrión. Por el contrario, el Linux cooperativo ejecuta un núcleo Linux especialmente modificado que es cooperativo en el sentido de que asume la responsabilidad de compartir recursos con el núcleo NT y no instigar condiciones de carrera .

Distribución

Ubuntu ejecutándose con coLinux
speedLinux ejecutándose con coLinux

La mayoría de los cambios en el parche de Cooperative Linux se encuentran en el árbol i386 , la única arquitectura compatible con Cooperative en el momento de escribir este artículo. Los otros cambios son principalmente la incorporación de controladores virtuales: cobd (dispositivo de bloque), conet (red) y cocon (consola). La mayoría de los cambios en el árbol i386 involucran el código de inicialización y configuración. Un objetivo del diseño del kernel de Cooperative Linux es permanecer lo más cercano posible al kernel i386 independiente, por lo que todos los cambios están localizados y se minimizan tanto como sea posible.

El paquete coLinux instala un puerto del núcleo Linux y un dispositivo de red virtual y puede ejecutarse simultáneamente en una versión del sistema operativo Windows como Windows 2000 o Windows XP . No utiliza una máquina virtual como VMware .

Debian , Ubuntu , Fedora y Gentoo son especialmente populares entre los usuarios de coLinux.

Debido a la estructura poco habitual del hardware virtual, instalar distribuciones Linux en coLinux suele ser complicado. Por lo tanto, en la mayoría de los casos los usuarios utilizan una instalación Linux existente en una partición real o una imagen del sistema de archivos ya preparada distribuida por el proyecto. Las imágenes del sistema de archivos se crean mediante una variedad de métodos, que incluyen tomar imágenes de un sistema Linux normal, encontrar formas de hacer que los instaladores se ejecuten con el hardware extraño, crear instalaciones a mano utilizando el administrador de paquetes o simplemente actualizar imágenes existentes utilizando herramientas como yum y apt . Una forma más sencilla de obtener una imagen del sistema de archivos actualizada es utilizar QEMU para instalar Linux y "convertir" la imagen quitando los primeros 63 bloques de 512 bytes como se describe en la wiki de coLinux.

Como coLinux no tiene acceso a hardware gráfico nativo, X Window o X Servers no se ejecutarán directamente bajo coLinux, pero se puede instalar [ cita requerida ] un X Server bajo Windows, como Cygwin/X o Xming y usar KDE o GNOME y casi cualquier otra aplicación y distribución de Linux. Todos estos problemas se solucionan usando distribuciones basadas en coLinux como andLinux, basada en Ubuntu, o TopologiLinux , basada en Slackware .

Distribuciones dedicadas

Algunas distribuciones fueron creadas específicamente para funcionar con coLinux.

Hardware emulado

Limitaciones

  • Todavía no es compatible con Windows o Linux de 64 bits (ni utiliza más de 4 GB de memoria), pero la comunidad está desarrollando un puerto.
  • No admite multiprocesador (SMP). Las aplicaciones Linux y el núcleo subyacente solo pueden utilizar una CPU. [11]

Véase también

Referencias

  1. ^ ab "Documentación cooperativa de Linux". Archivado desde el original el 13 de mayo de 2023. Consultado el 8 de agosto de 2020 .
  2. ^ "Sitio web principal de coLinux". Archivado desde el original el 19 de mayo de 2018. Consultado el 13 de abril de 2004 .
  3. ^ "Página principal de coLinux". Archivado desde el original el 4 de diciembre de 2015. Consultado el 13 de abril de 2004 .
  4. ^ "Contribuciones de código abierto | Dan Aloni". blog.aloni.org . Consultado el 8 de enero de 2022 .
  5. ^ "Miembros del equipo de desarrollo activo de Cooperative Linux". www.colinux.org . Consultado el 8 de enero de 2022 .
  6. ^ "LKML: Dan Aloni: [ANUNCIO] Linux cooperativo". lkml.org .
  7. ^ "Artículo de Dan Aloni presentado en julio de 2004 en el Simposio sobre Linux" (PDF) . Archivado desde el original (PDF) el 2018-09-30 . Consultado el 2008-03-30 .
  8. ^ Aloni, Dan (17 de noviembre de 2021), da-x/colinux , consultado el 8 de enero de 2022
  9. ^ Reed, Michael (6 de septiembre de 2011). «andLinux: Ejecuta aplicaciones Linux sin problemas en Windows». Linux Journal . Consultado el 6 de octubre de 2023 .
  10. ^ "Así que trae Linux a Windows zum Laufen". WWW.TECCHANNEL.DE . Consultado el 7 de octubre de 2023 .
  11. ^ "Preguntas frecuentes". coLinux .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Linux_cooperativo&oldid=1242887439"