Los entornos de virtualización como VirtualBox están cubriendo las necesidades de muchos usuarios que quieren ejecutar sistemas operativos diferentes sobre el mismo hardware. Sin embargo, estas herramientas funcionan más como “reproductores”, con pocas opciones avanzadas. Quienes necesiten emular elementos mucho más específicos, como procesadores, buses y puertos, deberían recurrir a Bochs, un emulador x86 de código abierto.
Virtualizar un sistema operativo es algo sencillo en estos días. Entornos como VirtualBox y VMWare prácticamente llevan de la mano al usuario, con asistentes muy pulidos que se encargan de realizar todo el trabajo pesado. De hecho, ni siquiera es necesario preocuparse por controladores externos, pero lo que se gana en facilidad suele perderse en versatilidad. En el caso de VirtualBox, el programa nos permite modificar el comportamiento de algunos puertos, principalmente COM y USB, además del chipset y el tipo de tarjeta de red.
A diferencia de la virtualización, un entorno de emulación completo entrega más funciones, incluyendo el acceso a varios tipos de procesadores, la carga de BIOS alternativos, la modificación de parámetros del RTC, y la especificación del protocolo de comunicación en un teclado, entre otras cosas. Para los desarrolladores, nunca falta esa situación en la que un programa debe ejecutarse sobre hardware antiguo, y puede que no haya componentes disponibles para evaluarlo directamente sobre el metal. Ahí es cuando aparece Bochs.
¿Qué es Bochs?
Bochs es un emulador IA-32 multiplataforma de código abierto, según su sitio oficial. IA-32 no es otra cosa que la tercera generación de la arquitectura x86, implementada por primera vez en el histórico Intel 80386 a mediados de los 80. Si bien Bochs permite ejecutar juegos antiguos en una emulación estable, esa sería una aplicación demasiado básica para sus capacidades.
Bochs puede emular más de una docena de procesadores x86, desde el Pentium MMX hasta los chips Arrandale de 2010, pasando por algunos clásicos de AMD, como el K6-2 y el Athlon 64. Bochs trabaja con imágenes en formato .img, por lo que deberás crearlas manualmente. Si esperas un alto rendimiento, Bochs no puede ayudarte mucho: su objetivo es emular con precisión, no hacer las cosas rápido.
La primera y tal vez única regla que debes aprender es que Bochs no es fácil de usar. La documentación oficial demanda paciencia y hay muchos tutoriales en línea, pero si esperas una experiencia similar a VirtualBox o VMWare, lo recomendable es que sigas en esas plataformas. Incluso me atrevería a decir que Bochs no tiene al usuario final en mente.
Su alto nivel de flexibilidad apunta a aquellos que deben ejecutar y depurar software bajo condiciones de hardware muy específicas. Si no tienes problemas en trabajar con múltiples imágenes creadas a mano (más allá de la asistencia que provee la utilidad integrada bximage), descubrirás que Bochs es mucho más poderoso que los virtualizadores de turno. Tiene versiones para Windows, Linux y hasta se puede instalar en Android, con un poco de maña (recuerda que para Android también cuentas con Magic DosBox).