Virtualizacion

1-Definición de Virtualización

En informática, virtualización es un término bastante amplio, ya que se refiere a la abstracción de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de la abstracción entre el hardware de la maquina física (host) y el sistema operativo de la maquina virtual (virtual machine, guest)., siendo un medio para crearuna versión virtual de un dispositivo o recurso, como un servidor, un dispositivo de almacenamiento, una red o incluso un sistema operativo, donde se divide el recurso en uno o más entornos de ejecución. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Red, Almacenamiento) y así podrá repartir dinámicamente dichos recursos entretodas las maquinas virtuales definidas en el computador central.

La virtualización enfocado en el área de informática es un medio para crear una versión virtual (valga la redundancia) de un dispositivo o recurso, como un servidor, un dispositivo de almacenamiento, una red o incluso un sistema operativo, donde se divide el recurso en uno o más entornos de ejecución.

Por ejemplo, algo tan simplepara nosotros como hacer una partición en un disco duro es considerado una virtualización. Esto es así, porque se toma un disco duro y la partición sirve para crear dos unidades (o más), que simulan dos discos duros siendo físicamente solo uno.
Los dispositivos, aplicaciones y usuarios pueden interactuar con los recursos virtuales como si fueran realmente un recurso único.

Existen múltiplestipos de virtualizaciones, como por ejemplo:

* Virtualizacion de servidores
* Virtualizacion a nivel sistema operativo
* Virtualizacion de aplicaciones
* Virtualizacion de red, etc.

Desde el punto de vista más general, son técnicas y herramientas que permiten abstraer los recursos en arquitecturas de TI. Lo que se persigue al virtualizar es ocultar la complejidad de una implementaciónsubyacente y sus objetivos casi siempre son, optimizar el uso de los recursos y/o ampliar el ámbito de acción.

Figura 1. Esquema de servidor host con Máquina Virtual.

2-Evolución de la virtualización a lo largo de la historia.

1959

En sus inicios, la virtualización era mejor conocida como ‘time sharing’ (tiempo compartido). Christopher Strachey, el primer profesor de informática de laUniversidad de Oxford y líder del Grupo de Investigación en Programación, utiliza el término en su artículo ‘Time sharing in large, fast computers’. Gracias a éste método el profesor Strachey implementa la técnica de ‘multiprogramming’, que permite a un programador escribir el código fuente de un programa mientras otro programador compila otro programa.

1961

El Centro de Computación del MIT (institutotecnologico de masachuset) desarrolla uno de los primeros sistemas operativos de tiempo compartido, CTSS (‘Compatible Time-Sharing System’). Aunque el CTSS no es un sistema operativo influyente por sus aspectos técnicos, tiene una gran influencia para mostrar que el tiempo compartido es viable. El CTSS es considerado el abuelo de los sistemas operativos de tiempo compartido ya que influye en eldesarrollo, entre otros, de:
* IBM M44/44X.
* CP-40/CMS, que deriva en z/VM.
* TSS/360
* MULTICS, que influye fuertemente en la família UNIX (Linux).
* CP/M, que influye fuertemente en 86-DOS, el cual deriva en Microsoft Windows.

1962

La Universidad de Manchester desarrolla una de las primeras supercomputadoras mundiales, ‘The Atlas Computer’, y la más rápida de su tiempo hastala aparición del CDC 6600 (1964). El Atlas aprovecha los conceptos de ‘time sharing’, ‘multiprogramming’ ‘virtual memory’ y control compartido de periféricos. Los ‘extracodes’ (nuevas instrucciones que pueden añadirse por software) son la única forma en la que un programa puede comunicarse con el ‘Atlas Supervisor’. El ‘Atlas Supervisor’ es un programa que gestiona el tiempo de procesamiento; en…