You are on page 1of 3

MAQUINA VIRTUAL Y SU IMPLEMENTACION

EDITH TORRES MOTA


Maquinas virtuales
Una maquina virtual es un software que emula a un ordenador y puede ejecutar programas
como si fuese un ordenador real. Este software fue definido como un duplicado eficiente y
aislado de una maquina fsica.
CARACTERISTICAS
Los procesos que estas ejecutan estn limitados por los recursos y abstracciones
proporcionados por ellas. Estos procesos no pueden escaparse de este ordenador virtual.
LOS USOS DE LAS MAQUINAS VIRTUALES
Uno de los usos domsticos mas extendidos de las maquinas virtuales es ejecutar sistemas
operativos para probarlos. As podemos ejecutar un sistema operativo que queramos probar
(por ejemplo, Linux) desde nuestro sistema operativo habitual (Windows) sin necesidad de
instalarlo directamente en nuestro PC y sin temores a que nuestro maquina tenga una des
configuracin.
TIPOS DE MAQUINAS VIRTUALES
Las maquinas virtuales se pueden clasificar en dos categoras segn su funcionalidad y su grado de
equivalencia q una verdadera mquina.
Maquinas virtuales de sistema
Maquinas virtuales de proceso
A continuacin se les describir a detalle cada una de ellas:
Maquinas virtuales de sistema
Las maquinas virtuales de sistema, tambin llamadas maquinas virtuales de hardware, permiten a
la maquina fsica multiplexarse entre varias maquinas virtuales, cada una ejecutando su propio
sistema operativo. A la capa de software que permite la virtualizacion se le llama monitor de
maquina virtual o hypervisor. Un monitor de maquina virtual puede ejecutarse o bien
directamente sobre el hardware o sobre un sistema operativo.
Maquinas virtuales de proceso
Una maquina virtual de proceso a veces llamada maquina virtual de aplicacin, se ejecuta como
un proceso normal dentro de un sistema operativo y soporta un solo proceso. La maquina se inicia
automticamente cuando se lanza el proceso que se desea ejecutar y se detiene cuando este
finaliza. Su objetivo es el de proporcionar un entorno de ejecucin independiente de la plataforma
de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y
permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma.
MAQUINA VIRTUAL Y SU IMPLEMENTACION
EDITH TORRES MOTA

Arquitectura de las Interfaces.

Una consideracin principal en la construccin de una VM es la fidelidad con la cual esta pone en
prctica la arquitectura de las interfaces. La arquitectura, aplicada a sistemas de computadoras, se
refiere a una especificacin formal de una interfaz en el sistema, incluso en el comportamiento
lgico de recursos manejados va esa interfaz. Los niveles de abstraccin corresponden a capas de
implementacin, tanto en hardware como en software, cada uno asociado con su propia interfaz o
arquitectura.
Las tres ms importantes interfaces y capas de implementacin de un sistema tpico de
computacin para la construccin de una VM son: la arquitectura de set de instrucciones, la
interfaz de aplicacin binaria, y la interfaz de programas de aplicacin.
La arquitectura de set de instruccin: El ISA marca la divisin entre el hardware y el software.
Incluye aquellos aspectos visibles por un programa de aplicacin o puede incluir aquellos aspectos
visibles slo por el sistema operativo. Interfaz binaria de aplicacin: El ABI da el acceso de los
programas a los recursos del hardware y a los servicios disponibles en un sistema. No incluye
instrucciones de sistema, todos los programas se relacionan con los recursos de hardware
indirectamente invocando los servicios del sistema operativo va la interfaz de llamadas al sistema.
Las llamadas al sistema proporcionan un camino al sistema operativo para realizar operaciones de
parte de un programa de usuario despus de validar su autenticidad y seguridad.
Interfaz de programas de Aplicacin: El API da el acceso de los programas a los recursos de
hardware y servicios disponibles en un sistema. El acceso se da a travs de lenguajes de alto nivel
(HLL). Cualquier llamada de sistema es por lo general realizada a travs de bibliotecas. La tilizacin
de un API permite al software de aplicacin ser transportada fcilmente, a travs de la
recompilacin, a otros sistemas que soporten el mismo API.

Procesos y sistemas de las VMs.

Para entender que es una mquina virtual, es necesario primero considerar el significado de
mquina" tanto de la perspectiva del sistema como del proceso. De la perspectiva de un proceso
ejecutando un programa de usuario, la mquina consiste en un espacio lgico de direcciones de
memoria asignado al proceso junto con instrucciones de nivel del usuario y registros que permiten
la ejecucin del cdigo que pertenece al proceso. La entrada-salida de la mquina es visible slo
por el sistema operativo, y el nico modo que el proceso puede relacionarse con el sistema de
entrada-salida es por las llamadas al sistema operativo. As el ABI define la mquina vista como un
proceso. Del mismo modo, el API especifica las caractersticas de la mquina vista como
programas de aplicaciones. Un sistema es un completo entorno de ejecucin que puede soportar
numerosos procesos simultneamente. Estos procesos comparten un sistema de archivo y otros
recursos de entrada-salida. El sistema asigna memoria real y recursos de entrada-salida a los
procesos, y permite que los procesos se relacionen con sus recursos. De la perspectiva del sistema,
las caractersticas del hardware definen la mquina; y es el ISA que proporciona el interfaz entre el
sistema y mquina.
Un proceso VM es una plataforma virtual que ejecuta un proceso individual. Este tipo de VM existe
nicamente para soportar el proceso; es creado cuando el proceso es creado y se termina cuando
el proceso se termina. En contraste, un sistema VM proporciona un entorno de desarrollo
completo, que soporta un sistema operativo junto con sus muchos procesos de usuario. Este
provee el sistema operativo de usuario con acceso a recursos de hardware virtuales, incluyendo
MAQUINA VIRTUAL Y SU IMPLEMENTACION
EDITH TORRES MOTA
gestin de redes, entrada-salida, y una interfaz de usuario grfica junto con un procesador y
memoria. El proceso o el sistema que corre en un VM es el guest (software o sistema operativo de
la VM), mientras la plataforma que soporta la VM es el host (sistema operativo de la mquina
real). El software de virtualizacin que implementa un proceso VM a menudo es llamado run-time
abreviacin de "run-time software". El software de virtualizacin en un sistema VM es tpicamente
referido como el monitor de la mquina virtual (VMM).
En un proceso VM, el software de virtualizacin est en el nivel ABI o en el API, encima de la
combinacin Sistema Operativo/Hardware. En el tiempo de ejecucin se emula tanto instrucciones
del nivel de usuario como del sistema operativo o las llamadas al sistema. En un sistema VM, el
software de virtualizacin est entre el host, hardware de la mquina y el usuario, el software.
El VMM emula el hardware ISA de modo que el software usuario pueda ejecutar potencialmente
ISA diferentes del que est implementado en el host. Sin embargo, en muchas aplicaciones de
sistema de VM, el VMM no realiza la emulacin de instrucciones; mejor dicho, su papel principal
es proporcionar recursos del hardware virtualizado.

LOS PROCESOS DE LAS MQUINAS VIRTUALES.

Los procesos de VMs proporcionan una ABI virtual o un entorno API para aplicaciones de usuario.
En sus varias implementaciones, los procesos de VMs ofrecen replicacin, emulacin, y
optimizacin.

Sistemas multiprogramados.
La mayora de los sistemas operativos pueden soportar simultneamente mltiples procesos de
usuario por la multiprogramacin, que da a cada proceso la ilusin de tener una mquina
completa. Cada proceso tiene su propio espacio de direcciones, registros, y estructura de archivo.
El sistema operativo comparte los tiempos del hardware y maneja los recursos para hacer esto
posible. En efecto, el sistema operativo proporciona una rplica del estado del proceso de la VM
para cada una de las aplicaciones que se ejecutan simultneamente.

Los emuladores y los traductores dinmicos.

Un problema ms complicado para el nivel del proceso de las VMs es el de soportar programas
compilados con un set de instrucciones diferentes del que se ejecuta en el host.
El modo ms real de realizar emulacin es por la interpretacin. Un programa intrprete descifra,
y emula la ejecucin de instrucciones de guest individuales. Este puede ser un proceso
relativamente lento, requiriendo decenas de instrucciones para cada instruccin del programa
fuente. La mejor interpretacin puede ser obtenida por la traduccin dinmica, que convierte
bloques de instrucciones de guest en bloques de instrucciones del host. La ejecucin repetida de
instrucciones amortiza el relativamente alto tiempo de la traduccin.

http://www.dsi.fceia.unr.edu.ar/downloads/DiegoSierra-ArquitecturaMVs.pdf