Superar los límites físicos de la informática
10 Mayo 2008por Isabel Martín, consultor preventa de Software de Servidores Críticos de HP Española desde Madrid
Página 2 de 4 de Superar los límites físicos de la informática
Más cercano a la actualidad, el lenguaje Java ha seguido el modelo P-code en su máquina virtual. Esto ha dado la posibilidad de lograr una amplia distribución de programas Java sobre incontables arquitecturas, simplemente portando la Java Virtual Machine. Y más recientemente, Microsoft ha lanzado al mercado el marco de programación .NET, con la misma filosofía.
Otro ejemplo de virtualización del procesador de los años 60 aplicado es el Basic Combined Programming Language (BCPL), un antepasado del lenguaje C. En este caso, el compilador compilaba código BCPL en un código máquina intermedio llamado O-code. En un segundo paso, el O-code era compilado en el lenguaje nativo de la máquina de destino.
Merece la pena mencionar también el emulador MAME (Multiple-Arcade Machine Emulator). MAME, como su nombre indica, es un emulador de muchos juegos arcade antiguos, que reinaban en bares y salas de recreativos: Tetris, Super-Pang, Puzzle Booble, Snow Bross, Metal Slug, etc. Estos juegos se ejecutaban en un ordenador (la máquina física del bar) con unas características concretas de procesador, joystic, tarjeta gráfica, etc. El MAME permite simular esa máquina en nuestro PC, y una vez dispongamos el código del juego correspondiente (aunque aquí hay bastantes trabas legales), podemos jugar a ese juego en nuestro PC como lo haríamos en el bar de la esquina. El MAME es un emulador de libre distribución y todavía en uso.
Todos estos antecedentes han derivado en que en la actualidad no contemos con un solo modelo de realizar la virtualización, sino con varios que revisaremos en el siguiente apartado.
Tipos de virtualización
Como ya se ha comentado, la virtualización consiste en hacer que un determinado ordenador parezca ser un ordenador diferente. Y esto se consigue siempre gracias a una aplicación (software), que se ejecuta en un ordenador (hardware) concreto y que nos va a permitir configurar las máquinas virtuales. Por tanto, la virtualización es software.
Actualmente, existen múltiples fabricantes que ofrecen software de virtualización. El software disponible nos permite virtualizar de diferentes maneras, principalmente tres: emulación, virtualización pura o nativa y paravirtualización. Analicemos estos tres tipos de virtualización en los siguientes apartados.
Emulación
La emulación del hardware es exactamente lo que hace MAME, pero en lugar de simular una máquina recreativa en nuestro ordenador, simularemos otro ordenador.
La emulación permite por tanto la creación de maquinas virtuales, dotadas de un hardware virtual que puede ser de un tipo completamente distinto al hardware físico. Por ejemplo, podríamos emular una arquitectura PA-RISC (virtual) en una plataforma de arquitectura Itanium (física).
En la emulación se simula todo el hardware de una máquina física: tarjetas, adaptadores, etc. Podemos tener incluso máquinas virtuales que emulen arquitecturas diferentes dentro del mismo servidor físico. Las máquinas virtuales con el hardware emulado se ejecutan directamente sobre el hardware físico, sin capas intermedias de software, tal y como se puede ver en la siguiente figura:
La emulación es el único tipo de virtualización que permite ejecutar “algo” (sistema operativo, aplicación, juego) diseñado para una arquitectura específica, en otra arquitectura totalmente diferente.
Como contraposición, es el tipo de virtualización que peores rendimientos proporciona, ya que cada instrucción debe ser simulada por el hardware subyacente. Si se pretende conseguir una emulación muy fiel que incluya precisión en los ciclos, simulación de los pipelines de la CPU, y comportamiento de caché, la velocidad puede ser muy inferior (hasta mil veces, según algunos estudios).
Uno de los usos frecuentes de la emulación hardware es el desarrollo de aplicaciones para diferentes arquitecturas, sin necesidad de adquirir una máquina física con esa arquitectura, e incluso adelantándose a que un modelo concreto salga al mercado. Es especialmente interesante el uso para el co-desarrollo de firmware y hardware: en lugar de esperar hasta que el hardware real esté disponible, los desarrolladores del firmware pueden utilizar una máquina virtual del hardware para validar muchos detalles de su código en una simulación.
La emulación es el único tipo de virtualización que permite ejecutar “algo” (sistema operativo, aplicación, juego) diseñado para una arquitectura específica, en otra arquitectura totalmente diferente
Algunas de las herramientas comerciales que proporcionan emulación del hardware son QEMU, Bochs y Virtual PC (versión PowerPC).
Virtualización Pura o Nativa
A diferencia de la emulación, la virtualización pura o nativa, también llamada a veces completa, permite crear máquinas virtuales, que contarán con un hardware virtual de la misma arquitectura que hardware físico. Por ejemplo, si la máquina física tiene procesador Itanium, las máquinas virtuales tendrán procesadores virtuales Itanium. Otra diferencia con la emulación es que no se virtualiza todo el hardware de la máquina física, sino sólo el hardware principal: procesador, memoria, red, discos. Los componentes como las tarjetas gráficas o de sonido no se virtualizan.
El hardware virtual es de tipo genérico, no necesariamente el mismo modelo que se tiene a nivel físico. Por ejemplo, a nivel físico podemos tener dispositivos de almacenamiento conectados por fibra óptica (en la SAN), que se verán a nivel virtual como dispositivos SCSI.
Publicidad
Publicidad
Publicidad
Últimas Noticias
- 21/03/2024Seis pasos para implementar la IA en la organización y desbloquear el potencial de la innovación
- 28/12/2023Microsoft certifica los servicios de su región cloud en España en conformidad con el Nivel Alto del Esquema Nacional de Seguridad
- 23/12/2023Hitachi Vantara integra su UCP con Google Cloud y simplifica la gestión de la nube híbrida
- 10/12/2023Van Oord actualiza su herramienta para la visualización de riesgos climáticos basada en tecnología Qlik
Publicidad
Opinión
Julio Campoy, Regional VP Broad Markets en Appian
El Data Fabric, clave para impulsar la digitalización del sector público
La digitalización de las organizaciones públicas es una cuestión crucial en un mundo cada vez más conectado y avanzado tecnológicamente. Para Julio Campoy, vicepresidente de Appian, una transformación esencial para facilitar y simplificar tanto los procesos internos como para los que se dirigen a los ciudadanos y en la que el Data Fabric cobra singular importancia
Soluciones
Nutreco despliega CloudSuite Food & Beverage de Infor en su plataforma sobre AWS
La compañía Nutreco, líder en nutrición animal, ha elegido CloudSuite Food & Beverage de Infor para estandarizar y armonizar procesos con soluciones nativas cloud desplegadas sobre la infraestructura y los servicios de Amazon Web Services