Next: Diseño Padre-hijo con memoria
Up: Diseños del monitor y
Previous: Diseño de parte baja
Debido a los problemas técnicos mencionados en el diseño de la
aplicación con la parte baja de la memoria, se planeó que el proceso
monitor se ejecute en la parte alta de la memoria (arriba del primer megabyte
del espacio de direcciones) y cree una tarea hija con la que comparte el
primer megabyte de memoria de la tarea, exceptuando la PAGE_ZERO.
Así el proceso monitor crea y organiza la memoria de la máquina DOS,
crea el hilo V86, crea el puerto de excepciones, y pone el hilo V86 en
ejecución, como se puede apreciar en la figura 6.4.
Figure 6.4:
Diseño Padre-Hijo con memoria inferior compartida
|
De esta forma cuando se atrape una excepción y el monitor tenga que
actualizar el espacio de direcciones de la tarea V86 se realiza directamente.
En caso de que la actualización se realice en la primera página del
espacio de direcciones, se mantiene una copia de esta página
en algún lugar del espacio de direcciones de proceso monitor y se actualiza.
Esta solución es muy adecuada cuando se trabaja con procesos UNIX
simples --es decir, con procesos que se ejecutan desde la terminal--,
pero cuando se desea implantar en una aplicación de NeXTSTEP ocurren
problemas de asignamiento de memoria, ya que depende de NeXTSTEP la
organización de los diferentes bloques de memoria de sus aplicaciones.
Next: Diseño Padre-hijo con memoria
Up: Diseños del monitor y
Previous: Diseño de parte baja
Amilcar Meneses
2002-10-03