Articulo de referencia

Linux cooperativo

"},"latest_release_date":{"wt":"{{Sda|2011|04|09}} "},"latest preview version":{"wt":"0.7.10-r1588 "},"latest preview date":{"wt":"{{Sda|2011|08|07}} "},"discontinued":{"wt":"ye...

Cooperative Linux , abreviado como coLinux , era un software que permitía que Microsoft Windows y el núcleo de Linux se ejecutaran simultáneamente en paralelo en la misma máquina. [ 3 ]

Linux cooperativo 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 sistemas operativos anfitriones tradicionales, los recursos se virtualizan para cada sistema operativo invitado. La CVM otorga a ambos sistemas operativos control total de la máquina anfitriona, mientras que la máquina virtual tradicional configura 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, Linux cooperativo convierte los dos núcleos del sistema operativo 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 compañero.

Sin embargo, aunque teóricamente ambos núcleos tienen acceso completo al hardware real, el hardware de las PC modernas 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 al mando 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 primitivas básicas que permitan al controlador portátil de Cooperative Linux ejecutarse en modo CPL0 (anillo 0) y asignar memoria. [ 3 ]

Historia

Dan Aloni inició originalmente el desarrollo de Linux Cooperativo como un proyecto de investigación basado en un trabajo similar con Linux en modo usuario . [ 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 se publicó bajo la Licencia Pública General de GNU . Desde entonces, otros desarrolladores han contribuido con varios parches y adiciones al software. [ 8 ]

Comparaciones

Linux cooperativo se diferencia significativamente de la virtualización x86 completa , que generalmente funciona ejecutando el sistema operativo invitado en un modo con menos privilegios que el núcleo del host, y con todos los recursos delegados por este último. En cambio, 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 provoca 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 Linux cooperativo se encuentran en el árbol i386 , la única arquitectura compatible con Cooperative. Los demás cambios consisten principalmente en la adición de controladores virtuales: cobd (dispositivo de bloques), conet (red) y cocon (consola). La mayoría de los cambios en el árbol i386 afectan al código de inicialización y configuración. Uno de los objetivos del diseño del kernel de Linux cooperativo es mantenerse lo más cerca posible del kernel i386 independiente, por lo que todos los cambios están localizados y minimizados al máximo.

El paquete coLinux instala una versión del kernel de Linux y un dispositivo de red virtual , y puede ejecutarse simultáneamente bajo 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 bastante inusual del hardware virtual, instalar distribuciones de Linux en coLinux suele ser difícil. Por lo tanto, en la mayoría de los casos, los usuarios utilizan una instalación de Linux existente en una partición real o una imagen de sistema de archivos preconfigurada distribuida por el proyecto. Las imágenes de sistema de archivos se crean mediante diversos métodos, como tomar imágenes de un sistema Linux normal, encontrar maneras de hacer que los instaladores funcionen con el hardware peculiar, crear instalaciones manualmente usando el gestor de paquetes o simplemente actualizar imágenes existentes con herramientas como yum y apt . Una forma más sencilla de obtener una imagen de sistema de archivos actualizada es usar QEMU para instalar Linux y "convertir" la imagen eliminando los primeros 63 bloques de 512 bytes, como se describe en la wiki de coLinux.

Dado que coLinux no tiene acceso al hardware gráfico nativo, X Window o los servidores X no se ejecutarán directamente en coLinux, pero se puede instalar un servidor X en 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 se crearon específicamente para funcionar con coLinux.

Hardware emulado

Limitaciones

  • No es compatible con Windows o Linux de 64 bits (ni utiliza más de 4 GB de memoria). Se planeó una versión para 2011, pero finalmente se canceló. [ 3 ]
  • No hay soporte para multiprocesador (SMP). Las aplicaciones de Linux y el núcleo subyacente solo pueden usar una CPU. [ 11 ]

Véase también

Referencias

  1. 1 2 "Documentación de Linux cooperativo" . Archivado del original el 13 de mayo de 2023. Recuperado el 12 de abril de 2026 .
  2. 1 2 "Instantáneas" . Archivado del original el 1 de enero de 2026. Consultado el 12 de abril de 2026 .
  3. 1 2 3 "Sitio web principal de coLinux" . Archivado del original el 19 de mayo de 2018. Recuperado el 12 de abril de 2026 .
  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 12 de abril de 2026 .
  6. "LKML: Dan Aloni: [ ANUNCIO ] Linux cooperativo" . LKML . 25 de enero de 2004. Consultado el 12 de abril de 2026 .
  7. Aloni, Dan (24 de julio de 2004). "Ponencia de Dan Aloni presentada en julio de 2004 en el Simposio Linux" (PDF) . Ottawa, Ontario, Canadá . Archivado (PDF) del original el 30 de septiembre de 2018. Consultado el 12 de abril de 2026 .
  8. Nestler, Henry (17 de noviembre de 2006). "da-x/colinux" . Consultado el 8 de enero de 2022 .
  9. Reed, Michael (2011-09-06). "andLinux: Ejecute aplicaciones Linux en Windows sin problemas" . Linux Journal . Recuperado el 12 de abril de 2026 .
  10. ^ Lamprecht, Stephan (28 de junio de 2015). "Así que trae Linux a Windows zum Laufen" . PC Welt . Consultado el 12 de abril de 2026 .
  11. "Preguntas frecuentes" . coLinux .