Publicado el 28 de Julio del 2017
1.266 visualizaciones desde el 28 de Julio del 2017
3,2 MB
193 paginas
Creado hace 15a (14/01/2010)
Centro de Investigación y de Estudios Avanzados
del Instituto Politécnico Nacional
Departamento de Computación
Soporte en hardware para el control
de acceso de dispositivos de E/S en
un ambiente virtualizado
Tesis que presenta:
Brisbane Ovilla Martínez
Para obtener el grado de:
Maestro en Ciencias
en Computación
Director de la Tesis:
Dr. Arturo Díaz Pérez
Cd. de México, Distrito Federal, México.
Diciembre, 2009
c Derechos reservados por
Brisbane Ovilla Martínez
2009
Esta investigación fue parcialmente apoya mediante el proyecto No. 51623 del Fondo Mixto
Conacyt-Gobierno del Estado de Tamaulipas.
This research was partialy funded by project number 51623 from ‘Fondo Mixto Conacyt-Gobierno
del Estado de Tamaulipas’
La tesis presentada por Brisbane Ovilla Martínez fue aprobada por:
Dr. Luis Gerardo de la Fraga
Dr. Cesar Torres Huitzil
Dr. Arturo Díaz Pérez, Director
Cd. de México, Distrito Federal, México., 16 de Diciembre de 2009
Hay hombres que luchan un día y son buenos.
Hay otros que luchan un año y son mejores.
Hay quienes luchan muchos años y son muy buenos.
Pero hay los que luchan toda la vida:
esos son los imprescindibles.
Bertolt Brecht
Para ti mamá, que has sido un ejemplo de lucha y siempre has estado a mi lado a pesar de la
distancia. Te amo eres lo más grande que Dios me ha dado.
Agradecimientos
A mi papá, mis hermanos, mis abuelitas, mis tíos y primos mil gracias por siempre confiar en
mí y estar conmigo incondicionalmente, los quiero mucho.
Gracias a mis amigos por ser mis pilares, sus porras siempre fueron de gran ayuda.
Al Dr. Arturo Díaz por hacerse el tiempo para orientarme en el trabajo de tesis, mostrándome
siempre que la investigación debe hacerse con gusto y responsabilidad.
A todos mis compañeros del CINVESTAV-Zacantenco por brindarme su amistad.
A todas aquellas personas que me brindaron su cariño durante mis estancias en Guadalajara y
Cd. Victoria.
Gabriel te agradezco tu apoyo incondicional en las buenas y en las malas, sin los momentos de
sonrisas contigo no hubiera sido posible terminar este ciclo.
Angelina gracias por ser mi cómplice en todas travesuras en Cd. Victoria ;).
Pedro gracias por todo lo que has hecho por mí, por darme la oportunidad de conocerte y por
permitirme ser parte de tu vida.
Gracias a Amalia y Victor por recibirme en su casa durante mi estancia en Tamaulipas y
hacerme sentir parte de su familia
Gracias a Sofy por apoyarme siempre, ya sea de cerca o de lejos.
Irasema y Fabiola gracias por las largas platicas que me otorgaron,
Al CONACYT por el apoyo económico para la realización mis estudios de maestría
Índice General
Índice General
Índice de Figuras
Índice de Tablas
Resumen
Abstract
Nomenclatura
1. Introducción
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Motivaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Objetivo de tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Organización de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Virtualización
2.1. Virtualización de plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. MMV o hipervisor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Arquitecturas de MMV . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1.1. Hipervisor MMV o tipo 1 . . . . . . . . . . . . . . . . . . . . . .
2.2.1.2. MMV alojado en un Sistema Operativo o tipo 2 . . . . . . . . . .
2.2.1.3. MMV híbrido o tipo 3 . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Hipervisor Xen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Técnicas de virtualización de E/S con soporte de software . . . . . . . . . . . . . .
2.3.1. Emulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. Paravirtualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. Asignación directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Virtualización de E/S con soporte de hardware . . . . . . . . . . . . . . . . . . . .
2.4.1.
IOMMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2. Traducción y protección . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3. Modos de uso del IOMMU . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4. Ventajas y desventajas del IOMMU . . . . . . . . . . . . . . . . . . . . . .
2.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I
V
VII
IX
XI
XIII
1
1
3
3
4
5
6
7
8
11
12
13
13
14
15
16
17
17
19
21
21
23
24
25
27
I
3. Arquitectura de Seguridad
3.1. Seguridad en MV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Conceptos básicos de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Mecanismos de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Seguridad en hypervisor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOMMU para protección . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Trabajos relacionados
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1.
4. Módulo de control de acceso en hardware
4.1. Arquitectura general del procesador Microblaze . . . . . . . . . . . . . . . . . . . .
4.2. Descripción general del PLB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.
Implementación del PLB . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Protocolo de transferencia del PLB . . . . . . . . . . . . . . . . . . . . . .
4.3. Descripción general de la arquitectura del MCA . . . . . . . . . . . . . . . . . . . .
4.3.1. Ubicación del MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2. Estructura de la regla . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Diseño general del MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1. MCA-RAM-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2. MCA-CAM-n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.
Integración del MCA al bus PLB . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
31
35
39
39
40
43
45
47
48
52
56
58
59
60
62
64
66
75
82
88
5. Análisis y evaluación de resultados
5.1. Plataforma de pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1. Etapa Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2. Etapa software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Verificación del MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1. Pruebas de comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2. Pruebas funcionales
89
89
91
95
96
97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3. Parámetros de desempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.1. Parámetros de espacio y tiempo . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.2. Tiempo de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6. Conclusiones y trabajo futuro
119
6.1. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
A. Integrar sistema operativo Linux a la plataforma de pruebas
123
Instalación de Petalinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
A.1.1. Configuración de variables de ambiente . . . . . . . . . . . . . . . . . . . . 125
A.1.2. Configuración de programa de comunicación serial
. . . . . . . . . . . . . . 125
A.1.3. Configuración de redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
A.1.
II
A.1.3.1. Configuración del directorio de transferencia . . . . . . . . . . . . 127
A.1.3.2. Configuración del servidor TFTP . . . . . . . . . . . . . . . . . . 127
A.2. Configurar Petalinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
A.2.1. Agregar proyecto de hardware . . . . . . . . . . . . . . . . . . . . . . . . . 128
A.3. Preparar el hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
A.4. Compilación de PetaLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.5.
Iniciando el sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.5.1. FS-Boot
A.5.1.1. Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.5.1.2. Uso del FS-Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.5.2. U-Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
A.5.2.1. Descargando archivos . . . . . . . . . . . . . . . . . . . . . . . . 145
B. Diagramas de tiempos para los casos de prueba
149
B.1. Caso 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
B.2. Caso 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
B.3. Caso 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
B.4. Caso 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Bibliografía
163
III
Índice de Figuras
1.1. Esquema de la metodología seguida en
Comentarios de: Soporte en hardware para el control de acceso de dispositivos de E/S en un ambiente virtualizado (0)
No hay comentarios