lunes, 19 de enero de 2009

Virtualización de los recursos del sistema

Cuando un VMM es host de múltiples entornos guest (VMs), tiene que monitorizar interacciones potenciales entre los componentes del software usando los mismos recursos del sistema. Estas interacciones pueden requerir la virtualización de los recursos; esto incluye facilidades de depuración, traducción de direcciones, memoria física, y facilidades de actualización del microcódigo.
Las facilidades de depuración en IA-32 y Intel 64 proporcionan instrucciones de breakpoint, condiciones de excepciones, banderas en registros, registros de depuración, registros de control y buffers de almacenamiento para funciones relacionadas con la depuración del sistema y de software dentro de las VMs si el VMM virtualiza correctamente las facilidades de depuración. Las características relevantes para virtualizar las facilidades son:
- El VMM puede programar el bitmap de excepción para asegurar que controla las funciones de depuración.
- El VMM puede utilizar las facilidades de inyección de eventos en entradas VM para inyectar excepciones de depuración o de breakpoint en el guest.
- El bit de control de salida MOV-DR en el campo de control de ejecución de la VM se puede activar por el VMM para provocar una salida VM en un acceso del guest explícito de varios registros de depuración del procesador. Desde que todos los cambios de tarea guest provocan una salida VM, un VMM puede controlar cualquier acceso guest indirecto o la modificación de los registros de depuración durante el cambio de tarea del guest.
- Los accesos software del guest para depurar registros relacionados específicos de cada modelo se pueden trampear por el VMM a través de las características de control de acceso MSR.
- Los registros de depuración como el DR7 pueden ser explícitamente modificados por el guest o modificados implícitamente por el procesador como parte de generar excepciones de depuración.
- El DR7 y el MSR IA32-DEBUGCTL se cargan con valores en el área de estado del guest del VMCS en cada entrada a la VM. Esto permite que el VMM virtualice correctamente los registros de depuración cuando se inyectan excepciones de depuración en el guest.
Las VMMs tienen que controlar la memoria física para asegurar el aislamiento de la VM y para remapear las direcciones físicas del guest en el espacio de direcciones físicas del host para la virtualización. La virtualización de la memoria es requerido para soportar la ejecución del guest en varios modos de operación del procesador. Esto incluye el modo protegido con paginación, el modo protegido sin paginación, el real-mode y cualquier otro modo de ejecución.
Las facilidades de actualización del microcódigo se pueden invocar en varios puntos durante la operación de una plataforma. Típicamente, la BIOS invoca estas facilidades en todos los procesadores durante el proceso de carga de la BIOS. Esto es suficiente para cargar la BIOS y el sistema operativo. Como una actualización del microcódigo puede ser mas reciente que el sistema BIOS, el software del sistema tiene que proporcionar otro mecanismo para invocar las facilidades de actualización.
Estas facilidades se pueden invocar anticipadamente en el VMM o en el proceso de carga del OS en el guest. Esto puede provocar la oportunidad para corregir errores que afecten el proceso de carga pero esta técnica generalmente requiere un reinicio del software.
Las facilidades de actualización también se pueden cargar durante la operación del sistema normal. Esto permite al software activar las actualizaciones del microcódigo al mismo tiempo sin requerir un reinicio del software; sin embargo no permite la corrección de errores que afectan al proceso de carga del procesador. Si la actualización la está ejecutando el guest, el VMM se tiene que asegurar de que el buffer de memoria del guest no causará un fallo de paginación cuando sea accedido. En general, cargar la actualización del microcódigo durante el proceso normal limitará la visibilidad del software del guest de cara a características que pueden mejorar la actualización.

No hay comentarios: