PDF de programación - Máquinas Virtuales en arquitecturas de microkernel

Imágen de pdf Máquinas Virtuales en arquitecturas de microkernel

Máquinas Virtuales en arquitecturas de microkernelgráfica de visualizaciones

Actualizado el 25 de Mayo del 2018 (Publicado el 3 de Abril del 2018)
679 visualizaciones desde el 3 de Abril del 2018
128,0 KB
28 paginas
Creado hace 20a (14/04/2004)
'

$

Máquinas Virtuales

Máquinas Virtuales en arquitecturas de microkernel

Amilcar Meneses Viveros & Hugo García Monroy

Sección Computación

Departamento de Ingeniería Eléctrica

CINVESTAV-IPN México, D.F.

Departamento de Aplicación de Microcomputadoras

Instituto de Ciencias

Universidad Autónoma de Puebla.

&

Amilcar Meneses Viveros

Julio 2003

%

1

'

$

Máquinas Virtuales

Resumen

Antecedentes y motivación.

Definición de Máquina Virtual.

Sistemas Operativos con arquitectura microkernel

Ejemplo: Dos como MV sobre el microkernel Mach ejecutándose en
NeXTSTEP/OpenStep.
• Mach, NeXTSTEP/OpenStep y DOS.
• El modo virtual en la familia de procesadores 80x86
• Diseño e implantacion de DOS como máquina virtual sobre

Mach.

&

Amilcar Meneses Viveros

Julio 2003

%

2

'

$

Máquinas Virtuales

Antecedentes y Motivación

Existen una gran variedad de sistemas operativos, cada uno tiene ventajas
y desventajas (Linux, Windows, BSD, OS/2, Mac OSX, Solaris, AIX,
NeXTSTEP...). .

Es deseable para los usuarios tener acceso a la tecnología
multiplataformas: ejecutar varios sistemas operativos concurrentemente
en la misma computadora y cambiar de uno a otro sin necesidad de
reiniciar la máquina

Manejo de programas o recursos que no están disponibles en un
sistema operativo

Ejecutar concurrentemente un mismo sistema operativo (VM Servers)

Pruebas de software

&

Seguridad

Para presumir...

Amilcar Meneses Viveros

Julio 2003

%

3

'

$

Máquinas Virtuales

Antecedentes y Motivación

Ejemplos de sistemas con plataformas cruzadas:

Coherent Virtual Machine, Maryland University (emulador).

Virtual PC, de Connectix (emulador, simulador).

Blue Box - Mac OS X, DP2, Apple Inc (emulador).

SimOS, Universidad de Standford (simulador)

VMApp, Departamento de Aplicación de Microcomputadoras-ICUAP
(emulador).

VMware, de VMware (emulador).

Stella, Bradford W. Mott (simuladorde Atari 2600)

MAME, Nicola Salmoria, (simulador de máquinas arcade)

¿JVM, IVM, .NET? (simulador, intérprete)

&

Amilcar Meneses Viveros

Julio 2003

%

4

'

$

Máquinas Virtuales

Máquina Virtual

Definición 1: “Una máquina que es capaz de realizar una operación,

aunque no la produzca”.

Definición 2: “Un sistema de software que ofrece una copia exacta del

hardware sobre el cual, la MV, se está ejecutando”.

Definición 3: “Un duplicado de hardware y software del sistema de
computación real en el cual un subconjunto de instrucciones del
procesador se ejecuta sobre el procesador anfitrión en modo nativo”.

&

Amilcar Meneses Viveros

Julio 2003

%

5

'

$

Máquinas Virtuales

Máquina Virtual

Podemos considerar la primera máquina virtual al sistema VM/370 de
IBM.

&

Amilcar Meneses Viveros

Julio 2003

%

6

Hardware de IBM 370Manejador de sesiones VM/370VM/370ProgramaVM/370ProgramaVM/370Programa '

Configuración:

Máquina Virtual

$

Máquinas Virtuales

1. Un S.O. anfitrión, trabajando con varios S.O. huéspedes

2. Un servidor de S.O. trabajando con varios huéspedes

El S.O. anfitrión o el servidor de S.O., debe monitorear al S.O. huésped
(MV). Cuando la MV trate de ejecutar una instrucción privilegiada
(interrupciones, manejo de alguún dispositivo de entrada o salida, ...).

¡¡Recuerde!!: la MV ejecutará un conjunto de instrucciones de manera
nativa (las instrucciones que no generan conflictos con las demás
máquinas virtuales).

&

Amilcar Meneses Viveros

Julio 2003

%

7

'

$

Máquinas Virtuales

Máquina Virtual

Monitor de Máquina Virtual (MMV):
La parte principal de una máquina virtual lo constituye el monitor de máquina
virtual, que es la capa que se encarga de manejar los recursos del sistema,
exportándolos a la MV.

&

Figura 1: Capa MMV

Amilcar Meneses Viveros

Julio 2003

%

8

'

$

Máquinas Virtuales

Máquina Virtual

Figura 2: Funcionamiento y módulos de un MMV

&

Amilcar Meneses Viveros

Julio 2003

%

9

'

$

Máquinas Virtuales

Máquina Virtual

&

Figura 3: Tipos de MV

Amilcar Meneses Viveros

Julio 2003

%

10

'

$

Máquinas Virtuales

Máquina Virtual

Ejecución de instrucciones privilegiadas

Reemplazar el código por instrucciones no privilegiadas para emular los
efectos que la instruccion privilegiada ocasiona.

Detectar la ejecución de la instrucción privilegiada y emular/simular la
instrucción en turno.

Las instrucciones de entrada y salida deben darse por los servicios del S.O.:

&

Amilcar Meneses Viveros

Julio 2003

%

11

'

$

Máquinas Virtuales

Sistemas Operativos con arquitectura de microkernel

Los sistemas operativos tradicionales (monolíticos) pueden dividirse en
uno o más servidores de Sistema Operativo a nivel de usuario y un
microkernel.

Los servidores proporcionan la funcionalidad tradicional de los sistemas
operativos —el manejo de archivos, procesos y trabajo en redes—.

El microkernel proporciona un pequeño número de servicios
fundamentales —el manejo de memoria virtual, comunicación entre
procesos y manejo de tareas-hilos—.

Tipos de microkernel: Mach (darwin), Chorus, V Kernel y Spring.

S.O a partir de microkernel: Debian, NeXTSTEP/OpenStep, Mac OS X, y
OS/F2.

&

Amilcar Meneses Viveros

Julio 2003

%

12

'

$

Máquinas Virtuales

Sistemas Operativos con arquitectura de Microkernel

&

Amilcar Meneses Viveros

Julio 2003

%

13

'

$

Máquinas Virtuales

DOS como MV sobre el microkernel de Mach,

ejecutándose concurrentemente con

NeXTSTEP/OpenStep

Se ejecutan en arquitecturas Intel i386.

NeXTSTEP/OpenStep está implantado sobre Mach.

Los procedores de Intel, a partir del 386 incorporan el modo de
ejecución virtual.

NeXTSTEP/OpenStep es el S.O anfitrión, DOS es el huésped.

&

Amilcar Meneses Viveros

Julio 2003

%

14

'

Microkernel Mach

DOS como MV...

$

Máquinas Virtuales

Desarrollado en CMU, por el grupo encabezado por Richard Rashid.

Versiones para Motorola 68040, SPARC, Intel i386, y PowerPC.

Se encarga de manejar procesos, comunicación entre procesos y memoria
virtual.

Intérprete de UNIX (BSD 4.2)

Abstracciones de Mach: tareas, hilos, puertos, mensajes y objetos de de
memoria.

Proceso UNIX = traea + hilo

La memoria virtual setá diseñada para uniprocesadores o para manejo de
memoria compartida en arquitecturas paralelas. La memoria virtual asigna
4MB de memoria a cada tarea mach.

&

Amilcar Meneses Viveros

Julio 2003

%

15

'

$

Máquinas Virtuales

DOS como MV...

El kernel se encarga de manejar las excepciones. El manejo lo puede
hacer el propio kernel o delegar esta responsabilidad al un proceso
del usuario.
• Acceso ilegal (errores de bus, violaciones de protección y

segmentación).

• Errores aritméticos (sobreflujo, división por cero, etc.).
• Instrucciones del hardware destinadas para el soporte de

facilidades como emulación, depuración y detección de errores.

Proporciona un conjunto de llamados al sistema, para manejo de de
los hilos a través de los registros propios de cada arquitectura.

&

Amilcar Meneses Viveros

Julio 2003

%

16

'

$

Máquinas Virtuales

DOS como MV...

NeXTSTEP/OpenStep NeXTSTEP/OpenStep es un ambiente de desarrollo
orientado a objetos que corre sobre el micronkernel de Mach.

&

Amilcar Meneses Viveros

Julio 2003

%

17

'

$

Máquinas Virtuales

DOS como MV...

DOS Se ejecuta en arquitecturas “clones” del IBM-PC, basado en el 8088.

&

Amilcar Meneses Viveros

Julio 2003

%

18

'

$

Máquinas Virtuales

DOS como MV...

DOS El sistema DOS es monólitico, y se almacena en el primer megabyte de
memoria.

&

Amilcar Meneses Viveros

Julio 2003

%

19

'

$

Máquinas Virtuales

DOS como MV...

La familia de procesadores de Intel 80x86

Procesador de 32 bits.

Manejo de memoria virtual (64 terabytes)

Manejo de multiprocesos

Sistema de protecciones: jerarquia de cuatro niveles de preferencia: 0: kernel,
1: servicios del sistema, 2:extensiones al SO, 3: aplicaciones del usuario.

Tres modos de ejecucion: protegido, real, virtual.

Modo virtual: se ejecuta una tarea (del modo protegido y llamada tarea
virtual) como si fuera el 8086.

Detección de ejecución de instrucciones especiales a nivel hardware cuando
se ejecuta un proceso en modo virtual.

&

Amilcar Meneses Viveros

Julio 2003

%

20

'

$

Máquinas Virtuales

DOS como MV...

Instrucciones que generan excepciones en modo virtual Cuando un
microprocesador está corriendo en modo virtual 8086, existen
instrucciones que son sensitivas al IOPL.

CLI, STI, PUSH, POPF, INT n, IRET, IN, OUT, INS, y OUTS

Estas instrucciones son sensitivas a el IOLP para dar oportunidad al
monitor virtual 8086 de emular su ejecución.

&

Amilcar Meneses Viveros

Julio 2003

%

21

'

$

Máquinas Virtuales

DOS como MV...

Una tarea se ejecuta en modo virtual cuando se enciende la bandera V M
del registro de banderas.

&

Figura 4: Entrando y saliendo del modo virtual

Amilcar Meneses Viveros

Julio 2003

%

22

'

$

Máquinas Virtuales

DOS como MV...

La organización de DOS como aplicación de NeXTSTEP

Generar una tarea que sirva como monitor de DOS.

Utilizar el modo virtual de ejecución del procesador (Intel): crear un hilo
mach que se ejecute en modo virtual 8086.

Crear la máquina DOS en el primer megabyte de una tarea Mach.

Asignarle un MMV (encargado del manejo de excepciones).

&

Amilcar Meneses Viveros

Julio 2003

%

23

'

$

Máquinas Virtuales

DOS como MV...

Diseño de la implantación de la MV DOS en Mach.

&

Amilcar Meneses Viveros

Julio 2003

%

24

'

$

Máquinas Virtuales

DOS como MV...

Diseño de la implantación de la MV DOS en Mach-NeXTSTEP como
aplicación multihilos.

&

Amilcar Meneses Viveros

Julio 2003

%

25

'

DOS como MV...

Vista de la aplicación VM.app.

$

Máquinas Virtuales

&

Amilcar Meneses Viveros

Julio 2003

%

26

'

$

Máquinas Virtuales

Resultados, conclusiones y trabajo furturo

Dispositivo

Simulador

Emulador

Emulador con

CPU

Arq. trap

Proceso

Señales

CPU

Señales

Inst. privilegiadas

Simulación

Sim. o eje
  • Links de descarga
http://lwp-l.com/pdf10121

Comentarios de: Máquinas Virtuales en arquitecturas de microkernel (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad