Considerando la discusión hecha en el primer capítulo, veremos que la ejecución de DOS como una aplicación de NeXTSTEP se basa en el desarrollo de una MV 8086 y su MMVH (además de contar con características de MMV de tipo II) ya que todas las instrucciones privilegiadas de simulan5.1 y además corre como un sistema operativo huésped5.2. Para tener la MV 8086 se utiliza un hilo que, al trabajar en el modo virtual 8086, hace que los procesadores 80486 en adelante, emulen al 8086. Es decir, trabajamos con una emulación y no con una simulación, ya que se aprovecha el hecho que un conjunto de instrucciones de DOS se ejecutan libremente en el CPU donde corre el sistema anfitrión: NeXTSTEP. En la simulación el Sistema Operativo tiene la apariencia de ejecutarse sobre una máquina que no existe, y en la emulación el procesador 80486 se comportará como si fuera un 8086.
Debido a que, en este caso, el emulador constituye un MMVH, se utilizan algunas técnicas de simulación del hardware, aprovechando los servicios del sistema operativo, para el manejo de instrucciones especiales y el manejo de dispositivos de entrada y salida, esto se aprecia en la tabla 5.1:
Esta tabla muestra las equivalencias e igualdades que se tienen con la simulación y emulación clásica de un sistema operativo, contra la emulación que se pretende realizar.
Cuando se simula un CPU se utiliza la abstracción de proceso, sin embargo, para la emulación el CPU trabaja en otro modo de operación, como el modo que nos interesa: el modo de operación virtual 8086 del i486. Con la emulación se obtiene un mayor rendimiento en la ejecución de programas que con la simulación, ya que muchas instrucciones se ejecutan directamente sobre el CPU.
Un simulador trabaja la arquitectura trap con el uso de señales del sistema operativo, en nuestro caso particular utilizamos las facilidades que nos brinda Mach para este propósito: el manejo de excepciones.
Las instrucciones privilegiadas se manejan igual en ambos casos, se sustituyen por un conjunto de funciones que realizan las tareas de las distintas instrucciones privilegiadas (es decir, se simula su comportamiento).
Los dispositivos de entrada y salida se manejan con archivos especiales (que proprociona el servidor de UNIX que tiene Mach), y los objetos gráficos de NeXTSTEP.