Es la idea de crear un computador dentro de otro computador.
Más formalmente: Virtualización es el proceso de presentar un agrupamiento lógico o un subconjunto de recursos computacionales tal que pueden ser utilizados en modos distintos de la configuración original, entregando de esta manera nuevos y distintos beneficios [1]. Un caso ya tradicional de virtualización es que en una máquina si simule el comportamiento de otra, por ejemplo: en el IBM AS400 se podía tener virtualmente una máquina IBM S/34.
La nueva visión de la Virtualización no está limitada por la implementación, locaciones geográficas o configuraciones físicas que están subyacentes en los distintos recursos. Comúnmente los recursos sujetos a virtualización son la capacidad de cómputos (CPU) y el almacenamiento de datos (disco).
Otra definición de Virtualización: “ Es un marco de referencia o metodología para dividir los recursos de un computador en varios ambientes de ejecución, por medio de la aplicación de uno o más conceptos o tecnologías tales comos particionamiento del hardware y del software, time-sharing, simulación de máquinas, emulación, y muchos otros”.
Tipos de Virtualización
En términos generales se puede clasificar la virtualización en:
- Virtualización de Software, básicamente es un ambiente que hace de anfitrión de un sistema operativo que corresponde a otro hardware, esto se logra mediante la simulación. Esta simulación tiene que ser lo suficientemente robusta para que los programas administradores de períféricos –hardware drivers– puedan funcionar en el sistema anfitrión. La creación y gestión de máquinas virtuales se conoce como Server Virtualization.
- Virtualización de Recursos, es la combinación de múltiples recursos, sea por agregación o combinación en un recurso de mayor capacidad, o en un pool de recursos. Por ejemplo, el RAID es la combinación de muchos discos en un disco lógico más grande. El particionamiento de un recurso abundante (espacio en disco o ancho de banda) en varios recursos de menor capacidad también es un tipo de Virtualización de Recursos, a veces se le llama zoning.
Usos de la Virtualización
Los usos más comunes son:
- Consolidación de Servidores, se ocupa la tecnología de virtualizacón, específicamente la de máquinas virtuales, para consolidar muchos servidores –equipos- en un o pocos servidores virtuales. De este modo el servidor físico es transaformado en un máquina virtual anfitrión residente en un máquina virtual del sistema principal, Eso es conocido también como Physical-to-Virtual o transformación “P2V”. En la práctica esto permite administrar varios servidores físicos como si fueran uno solo [2].
- Recuperación de Fallas – Disaster Recovery, las máquinas virtuales pueden utilizarse como ambientes de respaldo en vivo –hot standby- para los servidores de producción físicos. Esto permite cambiar la filosofía clásica del Backup-and-Restore por medio de la capacidad de hacer boot de los respaldos imágenes en las máquinas virtuales que están en vivo, posibilitando que éstas tomen la carga del servidor de producción que se está yendo fuera de servicio.
- Portabilidad para Aplicaciones, Para hacer portables las aplicaciones para los dispositivos USB –Pen Drive por ejemplo- los desarrolladores de software tienen que hacer que el registro –clave de autorización de uso- y sus archivos almacenados aparezcan siempre como si estuvieran en el directorio en que normalmente operan. Esto es particularmente complicado para aplicaciones como el Adobe Photoshop o el Microsoft Word, luego hacer que este tipo de aplicaciones corran en directorios distintos al en que fueron instaladas plantea un gran desafío técnico. Resolver este tema de portabilidad se puede hacer mediante las técnicas de virtualización, como ser la de inyección con DLL.
- Legacy Applications, la operación de estas aplicaciones puede ser muy bien atendida por máquinas virtuales. Es común que muchas de estas aplicaciones legacy no pueda funcionar en los procesadores y sistemas operativos actuales. Y, aún si pueden hacerlo terminan subutilizándolos de manera que la virtualización termina siendo una muy buena alternativa.
- Ambientes para Pruebas – Sandboxes, las máquinas virtuales pueden usarse para generar ambientes seguros, aislados para probar aplicaciones o sistemas nuevos cuyo comportamiento está recién conociéndose. Estos ambientes se pueden crear dinámicamente, según sean las necesidades del software que se necesita probar.
Reseña Histórica
A mediados de los 60 el IBM Waston Research Center fue la cuna del proyecto M44/44X, el objetivo del proyecto era evaluar el concepto de time sharing. La arquitectura que eligieron estaba basada en máquinas virtuales: La máquina principal era un IMB 7044 (M44) y cada máquina virtual representaba una imagen o copia (44X) de la máquina principal. De este modo la multiprogramación se implementaba con las máquinas virtuales, es decir la simulación de varias máquinas funcionando independientemente pero, físicamente operando una sola máquina.
Probablemente IBM ha sido quién más ha contribuido al desarrollo de la máquinas virtuales, así se tiene el CP-40, desarrollado para un versión modificada del IBM 360/40; el CP-67, desarrollado para el IBM 360/67, el famoso VM/370, y muchos más. Típicamente las máquinas virtuales de IBM eran “copias” idénticas del hardware. Un componente llamado Virtual Machine Monitor (VMM) corría directamente en el hardware real. Luego múltiples máquinas virtuales podían crearse vía el VMM, y cada instancia de ellas podía correr su propio sistema. La oferta actual del VM de IBM es considerada una de las plataformas más respetadas y robustas [3].
Con posterioridad al desarrollo de la máquinas virtuales ha ocurrido: La vitualización de las CPU y los sistemas de I/O a mediados de los 80, por ejemplo Amdahl, las LPARS IBM / Hitachi. Y, a mediado de los 90 esta tecnología se ha desplazado a los Open Systems, por ejemplo los servidores SUN E10K [4]
Referencias
[1] Virtualization. http://en.wikipedia.org/wiki/Virtualization
[2] Intel Virtualization Technology http://www.intel.com/technology/computing/vptech/
[3] An Introduction to Virtualization, Amit Singh, http://www.kernelthread.com/publications/virtualization/
[4] Blog About Virtualization http://about-virtualization.com/mambo/index.php?option=com_frontpage&Itemid=1
[5] Virtual Machines: Versatile Platforms for Systems and Processes, James E. Smith, Ravi Nair, Ed. Morgan Kaufmann, June 2005
Todos los link se verificarón el 10 de Septiembre de 2006.
Hola!
Acabo de encontrar este blog.
Mis felicitaciones y agradecimientos por todo el conocimiento plasmado aqui. Es realmente impresionante todo el material expuesto, de una ayuda inmensa y un valor infinito!
Nuevamente muchas gracias por tu generosidad y permiteme sugerir que no termines de llenar de sabiduria este espacio.
Gregorhy Evans Carreño Said
Santiago – Chile.
me encantaria saber si tienes algo de info sobre la virtualizacion de hardware ya que para la instalacion de vista en la maquina virtual me coloca que el tipo de procesador que utiliza es un pentium 3, en video 8mb, por lo que he buscado algo de info y encontre que es posible la virtualizacion de hardware pero no se que se tiene que instalarm, encontre en intel que dependera del procesador y la placa, tengo una placa intel ke soporta ya hasta 8 gigas de ram y en procesador un core 2 duo osea ke la maquina virtual deberia de funcionar a la perfeccion su me detectara el hadware ke tengo. si tienes algo de info te dejo mi correo y gracias por tomarte el time para leer mi coment
saludos
hectorito77@hotmail.com