Next: Protección en una tarea
Up: Estructura de una tarea
Previous: Estructura de una tarea
La paginación no es necesaria para una tarea virtual 8086 sencilla, sin
embargo se puede utilizar para cualquiera de las siguientes razones:
- Al crear múltiples tareas virtuales 8086. Cada tarea puede mapear el
megabyte inferior del direccionamiento lineal en diferentes localidades
de memoria.
- Al emular la memoria circular2.13 que ocurre en el primer megabyte.
Por ejemplo, cuando el selector tiene un valor de 0FFFFh y el
offset
tiene 0FFFFh, la dirección efectiva debería ser 0x10ffef (un
megabyte más 65519 bytes). El procesador 8086, que únicamente puede
formar direcciones de hasta 20 bits, trunca el bit más significativo,
con lo que esta dirección se ``enrrolla'' en la dirección 0x0ffef.
Sin embargo, el i486 no trunca esta dirección. Si
algún programa 8086 depende del direccionamiento enrollado, se puede
obtener el mismo efecto en una tarea virtual 8086 mapeando los
direccionamientos lineales, de 100000h a 110000h y 0 a 10000h a la misma
dirección física.
- Al crear un espacio de direcciones virtuales tan grande como el espacio
de direccionamiento físico.
- Al compartir el sistema operativo 8086 o el código ROM, el cual es
común a lo programas 8086 corriendo en multitareas.
- Al redireccionar o atrapar referencias de dispositivos E/S mapeados en
memoria.
Next: Protección en una tarea
Up: Estructura de una tarea
Previous: Estructura de una tarea
Amilcar Meneses
2002-10-03