Next: La aplicación VM, como
Up: La aplicación VM
Previous: La aplicación VM
En los capítulos anteriores se ha discutido el diseño de la MV que
ejecuta a DOS (proceso V86) y su MMV (proceso monitor) correspondiente.
Ahora incorporamos el manejo de estos procesos en una aplicación NeXTSTEP
que muestra la factibilidad de poder ejecutar un hilo en modo virtual 8086.
A esta aplicación le hemos nombrado VM.app (Virtual Machine). La
aplicación VM.app no intenta ser una máquina virtual DOS completa,
sin embargo, es un buen inicio para tener un soporte completo de DOS --para
llegar a esto, se le debe agregar al monitor la simulación de los llamados
a BIOS, DOS y de los sistemas de E/S--.
La aplicación VM.app incluye los siguientes elementos:
- Módulo para cargar un programa 8086 con formato COM a una tarea
V86. Los programas que ejecuta la aplicación VM no son programas
relocalizables, son programas que se almacenan en una localidad
de memoria fija.
- Desensamblador para 8086.
- Módulo para visualizar el estado de la memoria.
- Módulo para visualizar el tipo de instrucción especial que genere
un error y el estado del hilo V86.
- Módulo para comunicar los diferentes hilos con los objetos gráficos
de la GUI de la aplicación VM.
- Módulo de simulación de video CGA.
Figure 7.1:
Interfaz gráfica de la aplicación VM.
|
La interfaz de la aplicación, ver figura 7.1, despliega en una
ventana el programa 8086 que se va a ejecutar, el estado de la memoria
donde se ejecuta el programa 8086, el tipo de instrucción que genera una
excepción especial, la cual se va a simular, y el estado del hilo V86
cuando ocurre una excepción generada por alguna instrucción especial.
También muestra tres botones de control de la ejecución del hilo V86:
Stop Exception, Continue y Exe/Stop. El botón
Stop Exception, es un switch que indica si el usuario desea detener
la ejecución cada vez que se atrape una instrucción especial --con el
fin de ver el estado del hilo V86, la memoria, y el tipo de instrucción
especial que ocurrió--. El botón Continue, reanuda la ejecución
del hilo V86, este botón se activa sólo si se seleccionó el switch
que detiene la ejecución del hilo V86 cada vez que produsca una
excepción especial. El botón Exe/Stop, inicia y detiene la
ejecución del hilo virtual.
Next: La aplicación VM, como
Up: La aplicación VM
Previous: La aplicación VM
Amilcar Meneses
2002-10-03