Herramientas de virtualización: coLinux y Wine (7/7)

Y terminamos esta serie de 7 entregas sobre virtualización. Hemos analizado los diferentes tipos de virtualización que existen, y las herramientas más importantes que existen en el mercado para cada uno de los tipos de virtualización. Hoy para terminar analizaremos la emulación, que a pesar de no ser como tal un tipo de virtualización, es algo muy muy parecido y que nos ofrece unos resultados similares y muy útiles. Es por ellos que muchos autores importantes, que son gurús de la virtualización, consideran a la emulación cooperativa y a la emulación a nivel de biblioteca, como una forma más de virtualizar. Para entenderlo mejor, voy a explicar directamente las herramientas asociadas a cada tipo de virtualización.

coLinux – Emulación cooperativa
coLinux es una modificación de núcleo Linux para que pueda ejecutar otro sistema operativo al mismo tiempo. Para ello, el sistema operativo nativo (Windows o Linux) controla el hardware físico, mientras que el sistema operativo invitado emplea un hardware virtual. coLinux ejecuta un proceso en la máquina física, que permite que arranque el sistema operativo virtual instalado. Mediante este proceso el sistema operativo nativo interactúa con el virtual con un driver de control específico, indicándole el hardware, red, memoria…

Esquema de virtualización coLinux

Esquema de virtualización coLinux

Así pues esta herramienta nos permite por ejemplo, ejecutar desde Linux aplicaciones creadas e instaladas para Windows. Esta funcionalidad ha hecho que co-Linux sea una herramienta extendida sobre todo a nivel de usuarios que desean poder ejecutar diferentes aplicaciones creadas para diferentes sistemas operativos, sobre Linux.

Wine – Emulación a nivel de biblioteca
La emulación a nivel de biblioteca es un método que emula porciones de un sistema operativo empleando una biblioteca específica. Es decir, en realidad no se está ejecutando realmente el otro sistema operativo, si no que es un entorno que lo simula. Por lo general no se emula un sistema operativo completo, si no que permite la ejecución de software correspondiente a un determinado sistema operativo.

Un ejemplo muy conocido de este tipo de virtualización es Wine. Este software implementa la API de Win32 para Linux permitiendo de este modo la ejecución en un entorno Linux, de un programa compilado para Windows. Por tanto, al ser en realidad una implementación de la API, hay quien considera que la emulación no es virtualización como tal, sino una forma un poco “peculiar” de implementar ciertas librerías, ya que en realidad no se virtualiza el sistema operativo al completo, sino únicamente ciertas librerías que Windows necesita para ejecutar determinadas aplicaciones.

Leave a Reply