coLinux

Cooperative Linux es el primer método para optimizar la ejecución de Linux en Windows y otros sistemas operativos de forma nativa. Es un puerto del kernel de Linux y de todo su código de apoyo, que permite que se ejecute en forma cooperativa y sin emulación alguna, junto con otro sistema operativo.

Cooperative Linux is the first method for optimally running Linux on Windows and other operating systems natively. It is a port of the Linux kernel and support code that allows it to run cooperatively without emulation along with another operating system.


Castellano | English

Cooperative Linux es el primer método de trabajo libre y de código abierto para optimizar la ejecución de Linux en Microsoft Windows, de forma nativa. Más, en general, Cooperative Linux (el nombre corto es: «coLinux») es un puerto del kernel de Linux que permite la ejecucion, en cooperación, junto con otro sistema operativo y en una sola máquina.

Por ejemplo, se puede, libremente, ejecutar Linux en sistemas operativos Windows 2000/XP/Vista/7, sin necesidad de tener que utilizar un software comercial de PC, como VMware; de modo que ofrece mucho más optimizacion que la que puede ofrecer cualquier software de virtualización para una PC de propósito general.

En su estado actual, por ejemplo, permite ejecutar la edición japonesa de KNOPPIX en Microsoft Windows.

Capturas de Pantalla

- Después del arranque

Este screenshot muestra un sistema coLinux directamente, después del lanzamiento del demonio coLinux, es decir, que ya ha arrancado,. Esa ventana consola de coLinux es un proceso que corre separado y que se agrega al demonio coLinux que ya se esta ejecutando.
- La red

Esta captura, nos muestra un sistema coLinux que esta ejecutando twm y xclients rxvt, y que lo hace a través del enlace de red virtual con Windows. A la izquierda se puede ver el servidor XFree86 Cygwin. A la derecha, se puede ver la ventana de diálogo de la interfase de red virtual Win32 TAP.
- Corriendo Knoppix

Se ha tomado una imagen ISO de la edición japonesa de Knoppix (version en inglés), y con un muy pequeño bootstrapping hicieron que se pudiera inicializar bajo coLinux. En la captura de pantalla, se puede ver un escritorio KDE (japonés) corriendo bajo Knoppix y este bajo coLinux, una ventana Mozilla, konsole, konqueror, la consola coLinux FLTK, y el Gestor de Tareas de Windows que muestra cuanto consume, en materia de recursos, el demonio coLinux en la CPU (Unidad Central de Procesos).
Corriendo dos navegadores Mozilla, Windows, en coLinux
Descripción del Proyecto
¿Cómo funciona?


A diferencia de otras soluciones de virtualización de Linux, tales como User Mode Linux (o VMware antes mencionada), el software controlador especial en el sistema operativo host se utiliza para ejecutar el núcleo coLinux en un modo privilegiado (conocido como anillo 0 o modo supervisor).

Al cambiar constantemente el estado de la máquina, entre el Estado y sistema operativo anfitrión y el estado del núcleo coLinux, se obtiene el control total de la MMU de la máquina física (es decir, la paginación y la protección) en su propio espacio de direcciones especialmente asignados, y es capaz de actuar como un núcleo en nativo, logrando casi el mismo rendimiento y la funcionalidad que se puede esperar de un sistema Linux normal que podría haber corrido en el mismo equipo independiente.

Desde que coLinux utiliza el formato binario para el usuario del espacio como ejecutables en modo Linux nativo, esta puede cargar y ejecutar una distribución de Linux existente sin entrar en colision con el sistema operativo anfitrión.

De virtualización de hardware


Para compartir el hardware en cooperación con el sistema operativo host, coLinux no tiene un acceso I/O directamente. En cambio, si lo pueden hacer aquellas interfaces con dispositivos emulados proporcionados por los controladores coLinux en el sistema operativo anfitrión. Por ejemplo, un archivo normal en Windows se puede utilizar como un dispositivo de bloque en coLinux. Todas las interrupciones hardware real se transmiten de forma transparente al sistema operativo anfitrión, por lo que esta forma de control de la máquina OS del hardware real, no se interfieren permitiendo de esta manera un funcionamiento sin problemas.

Portabilidad


A diferencia de User Mode Linux, coLinux, siempre utiliza sólamente un proceso del sistema operativo anfitrión para todos sus procesos , de manera que la gestión de su programación, recursos, y defectos  esten contenidos y sean totalmente independientes a la forma en que se llevan a cabo en el sistema operativo anfitrión.
De hecho, coLinux sólo requiere de un conjunto muy reducido y comúnmente primitivos exportados desde el núcleo del sistema operativo anfitrión a los efectos de funcionar, por lo tanto, puede ser portado fácilmente para funcionar bajo cualquier sistema operativo, como Solaris, o incluso el propio Linux.

coLinux está siendo portado para funcionar bajo ReactOS, un Windows de código abierto independiente de la aplicación.

Estado actual del Proyecto

Versión: 0.7.6
Fecha de lanzamiento: 6 de marzo 2010
Arquitecturas soportadas:
Intel-486 compatible y por encima de
Sistemas operativos admitidos (sólo 32 bits):
Windows 2000/2003/2008
Windows XP
Windows Vista / 7
Linux 2.6.x
Apoyó la versión del kernel de Linux resultados: 2.6.22.18 (utilizable en la mayoría de las distribuciones con soporte para el kernel 2.6)

Links de descargas

- Binario (coLinux-0.7.6-src.tar.gz)
- Ejecutable (coLinux-0.7.6.exe)

Mas informacion

- Wiki