Consulta Traduccion Binaria

Re: Consulta Traduccion Binaria

de Federico Rivero -
Número de respuestas: 0
Hola Guzmán!

La segunda técnica es lo que en el libro se presenta como 'trap-and-emulate', que si bien no está con ese nombre en las diapositivas, sí está explicada en la nro 10:



La idea de la técnica es lo que dice abajo: cuando el SO invitado ejecuta una instrucción sensible, como la CPU real está en modo usuario (toda la VM ejecuta en modo usuario siempre), se genera una excepción (trap). La rutina que atiende la excepción la maneja el hipervisor y toma las acciones que dice ahí arriba.

Esto aplica fundamentalmente a los supervisores de tipo 1, donde el hipervisor ES parte del sistama operativo nativo y entonces el hipervisor tiene acceso a la rutina que atiende la excepción. En un SO normal, sin soporte de virtualización, esa rutina simplemente abortaría el programa de modo usuario que intentó ejecutar la instrucción privilegiada (como se vió al principio del curso). Ahora debería ser un poco más compleja: si el proceso que ejecutó la instrucción es uno de los procesos de la VM, entonces ahí hay que ver, si la instrucción la ejecutó el SO invitado (modo kernel virtual), entonces hay que emular la instrucción privilegiada que se ejecutó. Si la instrucción la ejecutó un proceso de usuario en la máquina virtual (virtual user mode), entonces ese proceso virtual se debe abortar.

Avisame si algo no queda claro por favor.

Saludos,
Federico