martes, 7 de febrero de 2012



Máquina Virtual :Para explicar la definición de lo que es una máquina virtual tomaré una definición la cual he modificado del sitio http://udpsisop.blogspot.com/, mantenido por Manuel Sánchez Cárcamo, un gran docente y profesional, quién me formó como Técnico en Programación: "Es un Componente que presenta una interface a cada proceso , mostrando una máquina que parece idéntica a la máquina real subyacente. Estos componentes separan dos conceptos: La multiprogramación y la máquina extendida.

En cuanto a los Sistemas Operativos instalados en máquinas virtuales, el objetivo es el de integrar distintos sistemas operativos, dando la sensación de ser varias máquinas diferentes . EL núcleo de estos sistemas operativos es el monitor virtual y tiene como propósito llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten.

Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario". Acá entra un concepto que es la emulación, vale decir, implementar las características por software de una determinada máquina en un ambiente totalmente distinto. Este concepto se ha implementado en los famosos emuladores de consolas de juegos y máquinas de arcade, y en palabras sencillas para explicar mejor lo que es la emulación, es como plantar una palmera en Finlandia: El clima de este país es frío e inhóspito para esta planta, una palmera moriría de inmediato si es expuesta a la interperie, pero no, si se la planta en un invernadero que reproduzca las condiciones de temperatura, humedad y de suelo necesarias para su crecimiento. Esto es lo que logra la emulación.


Existen 2 técnicas de emulación:

Emulación de Hardware subyacente:
Esta técnica se suele llamar virtualización completa (full virtualization) del hardware, y se puede implementar usando un hypervisor de Tipo 1 o de Tipo 2:
El hypervisor (o monitor de Máquina Virtual: VMM) de tipo 1 se ejecuta directamente sobre el hardware, es decir, NO se trata de una aplicación que demande la existencia de un sistema operativo instalado en el hardware anfitrión.

Este tipo de hipervisor opera como una capa intermedia entre el Hardware y los sistemas operativos invitados. En un esquema Hardware / Hypervisor VMM / Maquina Virtual. Todas las traducciones binarias de CPU, Memoria, Red, Almacenamiento las hace la capa VMM Paravirtualización

El hypervisor (o monitor de Máquina Virtual: VMM) de tipo 2 se ejecuta sobre otro Sistema Operativo. Este tipo de hypervisor necesita un Sistema Operativo completo para poder ejecutarse. Se presenta en el esquema Hardware / Sistema Operativo / Hypervisor VMM / Maquina Virtual

Todas las traducciones binarias: Red, Almacenamiento las hace la capa VMM y las traducciones binarias de CPU, Memoria, la hace mediante el hardware.

Cada máquina virtual puede ejecutar cualquier sistema operativo soportado por el hardware anfitrión. Así los usuarios pueden ejecutar dos o más sistemas operativos distintos simultáneamente en computadores "privados" virtuales.

Emulación de un sistema no nativo

Las máquinas virtuales también pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos, concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teoría no soportan.

Algunas máquinas virtuales emulan hardware que sólo existe como una especificación. Por ejemplo:

- La máquina virtual P-Code que permitía a los programadores de Pascal crear aplicaciones que se ejecutasen sobre cualquier computador con esta máquina virtual correctamente instalada.
- La máquina virtual de Java.
- La máquina virtual del entorno .NET.


Historia

La virtualización es una tecnología que fue desarrollada por IBM en los años 60. El primer computador diseñado específicamente para virtualización fue el mainframe IBM S/360 Modelo 67. En aquella época tenemos que recordar que los únicos computadores disponibles eran los mainframe, enormes máquinas, las cuales costaban un dineral( y aún hoy existen mainframes y siguen costando un dineral), y a las cuales había que sacar el mejor partido posible.Esa máquina ofrecía emulación para los programas que corrían en modelos anteriores de IBM, pero para ello se debía reiniciar el Mainframe y entrar en modo emulación. Ni hablar si existían terminales de video : en aquella época eran similares a las impresoras de matriz de punto, solo que contaban con una conexión de tipo telefónico al mainframe, el operador tecleaba la orden y el resultado se imprimía en el papel.

Pero volviendo al tema, esta característica de virtualización ha sido un Standard de la línea que siguió (IBM S/370) y sus sucesoras, incluyendo la serie actual.

Durante las décadas de los 60s y 70s fueron muy populares, pero desaparecieron prácticamente durante los 80s y los 90s. No fue hasta el final de los 90s en que volvió a resurgir la tecnología de las maquinas virtuales y no solamente en el área tradicional de servidores sino también en muchas otras áreas del mundo de la computación: “En la actualidad asistimos a su eclosión gracias al fuerte descenso del coste total de propiedad (TCO) atribuible a tecnologías vía hardware como Intel VT, AMD-V Pacifica, NPIV y vía software VMWare , XEN, Microsoft Hyper-V, VirtualIron..”

La virtualización es un termino que se refiere a la abstracción de los recursos de un computador llamado 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). El VMM maneja los recursos de las maquinas físicas subyacentes (el host) de una manera que el usuario pueda crear varias maquinas virtuales presentando a cada una de ellas una interfaz del hardware que sea compatible con el sistema operativo elegido. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de un computador (CPU, Memoria, Red, Almacenamiento) y así podrá repartir dinámicamente dichos recursos entre todas las maquinas virtuales definidas en el computador anfitrión o host.


La maquina virtual generalmente es un sistema operativo completo que corre como si estuviera instalado en una plataforma de hardware autónoma. Independiente de las otras. Típicamente muchas máquinas virtuales son simuladas en un computador. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente robusta (dependiendo del tipo de virtualización). En la actualidad todos los fabricantes tanto de Software como de Hardware están trabajando para mejorar el Hypervisor (VMM) y así alcanzar una virtualización completa, fiable y robusta.

Dentro de las soluciones existentes para virtualización están:

VmWare Workstation: Esta Solución, ganadora de mas de 50 premios de la industria de software, ofrece un soporte a una amplia gama de sistemas operativos basados en arquitectura i386:MS-DOS, Windows, Linux, FreeBSD, Solaris,etc.Actualmente se encuentra en la versión 8 y está disponible para la descarga una versión de prueba de 30 días.

Oracle Vm VirtualBox : Antes era comercial y desarrollada por la ahora extinta Sun Microsystems, ahora está distribuída por Oracle bajo licencia GPL 2. Existe un paquete de extensión que es para el soporte de dispositivos USB 2.0, VirtualBox RDP y para el booteo PXE desde tarjetas madre Intel, el cual se distribuye bajo licencia PUEL (Personal Use and Evaluation License.). Está disponible para Windows, Linux , MacosX(sólo soporte i386, no PPC) y Solaris. Es el Software que tengo instalado en mi pc de escritorio con Ubuntu 10.10, y que ocupo habitualmente.

Windows Virtual Pc: Antes llamado Microsoft Virtual Pc , se ofrece para descarga una versión de prueba para Windows 7, la cual incluye Windows Xp Mode, el cual permite correr programas para Windows XP que no pueden ser ejecutados de forma nativa en Windows 7.No he probado esta versión, pero si he probado Microsoft Virtual Pc 7, la cual tuve que usar de forma laboral cuando trabajaba en una empresa de supermercados, para ejecutar un programa de actualización de firmware de Balanzas Mettler Toledo, en una máquina virtual con Windows 98 el cual no podía correr de forma nativa con Windows Xp, la integración con el harware anfitrión era excelente. Luego lo probé en su versión para Macos X Tiger PPC,instalando en mi viejo Mac una máquina virtual con Windows XP, con excelentes resultados.

Para Linux también he probado QEMU, que no voy a entrar en mayores detalles, dado que en un post anterior expliqué su uso.No he probado aún BOCHS.

0 comentarios:

Se ha producido un error en este gadget.

segunda mano

Blog Flux

Computers Blog Directory

BlogUpp!

Directorio de Blogs

Directorio de Blogs

About Me

Mi foto
Patricio Morales

Ingeniero de Ejecución en Informática y Técnico en Electrónica Industrial con amplia experiencia en el área de Soporte Técnico Computacional. Entre mis antecedentes destacan: Haber trabajado como Soporte Técnico por 4 años desde 2003 hasta 2007 para Empresas Bravo CAS LTDA, que en aquel entonces ofrecía soporte administrativo para las Cadenas de Supermercados BRYC (hoy Unimarc), Mayorista 10,además de Abarrotes CD(Distribuidora) y Maspan S.A(Panificadora). En 2008 trabajé como Soporte Técnico para un contratista de SONDA S.A., tiempo en el cual me correspondió atender a varias empresas de carácter regional y nacional. Desde el 2009 trabajo como Coordinador de Informática para el Departamento de Educación(DAEM) de la I. Municipalidad de Temuco. Además he trabajado de forma particular, realizando diversos trabajos en el área de Soporte Informático y en el área de relatorías para particulares y empresas.

En lo personal, me considero una persona que le gusta algo nuevo cada día, investigar sobre varios temas, que no tengan que ver con la informática y la electrónica (hay vida mas allá de los bits).

Ver todo mi perfil

Seguidores

contador de visitas

View My Stats