Maquinas Virtuales: Sistemas que presentan interfaces separadas
1.
2. Maquinas Virtuales
Se trata de un tipo de sistemas operativos que
presentan una interface a cada proceso.
Estos sistemas separan dos conceptos que están
unidos en el resto del sistema:
La Multiprogramación
La Maquina Extendida
Su objetivo es el de integrar distintos S.O dando la
sensación de ser varias maquinas diferentes.
Su núcleo se denomina «Monitor Virtual» cuyo
misión es de llevar a cabo la multiprogramación.
3. Las maquinas virtuales no son maquinas
extendidas , sino una replica de la maquina real; en
la cual en cada una de ellas se puede ejecutar
varios S.O. diferentes.
Ejemplo:
Vmware(http://www.vmware.com)
Ejecuta diferentes S.O en la misma maquina.
Cada maquina virtual es idéntica al verdadera
Hardware en la cual cada una de ellas puede
ejecutar cualquier sistema operativo que se
ejecutaría directamente en el Hardware solo.
4. Existen diferentes maquinas virtuales en la cual
pueden ejecutar diferentes S.O pero existen casos
que algunos ejecutan uno de los descendientes de
OS/360 para procesamientos de transacciones
mientras que otros ejecutan sistemas interactivos
monousuarios llamados CMS(sistema de
Monitoreo de conversaciones).
EJEMPLO:
CMS emite las instrucciones de E/S
del hardware normal para leer su disco virtual; o lo
que sea que se necesite para llevar a cabo la
llamada.
5. Estas instrucciones de E/S son atrapadas por el
VM/370, el cual lo ejecuta como parte de su
simulación del hardware real.
Otro ejemplo:
La ejecución de viejos programas para MS-DOS
en una Pentium en la cual ejecuta instrucciones
normales, operan en el hardware solo.
Hay dos variantes de este diseño:
1. Se carga el MS-DOS de que el monitor de la
maquina virtual simple mente refleja la trampa
de vuelta a MS-DOS tal como ocurriría en una
8086 real.
6. Cuando el MS-DOS trata de efectuar la E/S el
mismo, esa operación es atrapada y llevada a cabo
por el monitor de la maquina virtual.
2. El monitor de la máquina virtual simplemente
atrapa la primera trampa y efectúa la E/S el
mismo , ya que conoce todas las llamadas al
sistema de MS-DOS.
Una desventaja:
Es que MS-DOS se mete mucho con el bit que
habilita/inhabilita las interrupciones y la
emulación de estos resulta muy costosa.
7. Exokernel
Se encuentra en la capa mas baja en donde hay un
programa llamado exokernel en la cual consiste en
repartir recursos a las máquinas virtuales y luego
verificar los intentos por usarlos para asegurarse
de que ninguna maquina este tratando de usar los
recursos de alguien mas. Cada maquina virtual en
el nivel de usuario puede ejecutar su propio sistema
operativo, como en VM/370 y el modo 8086 virtual
de la Pentium.
8. Ventaja:
1) Exokernel ahorra una capa de mapeo; es
decir mantiene al tanto de que recursos
se han asignado a cada maquina virtual.
2) Separa la multiprogramación del código
de sistemas operativo del usuario pero el
gasto extra es menor, ya que todo lo que
el EXOKERNEL tiene que hacer es
evitar que la maquina virtual tomen cosas
que no les pertenecen.