Modo irreal

Modo irreal

Por razones de eficacia, el 80286 y posteriores procesadores X86 usan la dirección base almacenada en su cache de descriptor interno siempre que se esté accediendo la memoria, independientemente de si están operando en modo real o modo protegido. El "selector", es decir, el "número de segmento" de 16 bits visible al programador es usado una vez, cuando se recarga un registro de segmento para actualizar varios campos del "descriptor" respectivo, y después es simplemente descartado.

A diferencia del modo real, el modo protegido y el modo largo, el modo irreal no es un modo de direccionamiento separado en el que los procesadores x86 o x86-64 pueden operar. En lugar de ello, el modo irreal, también llamado modo real grande o modo real plano, es una variante del modo real (PE=0) en la cual unos o más registros de segmento han sido cargados con direcciones y límites 32 bits.

Para activar el modo irreal, el programa tiene que entrar en modo protegido, localizar un descriptor plano en el GDT o LDT o crear alguno, cargar algunos de los registros de segmento con el respectivo selector de modo protegido, entonces se retorna del modo protegido al modo real. Cuando se está de nuevo en el modo real, el procesador continuará usando los descriptores del cache como habían quedado establecidos en el modo protegido, por lo menos hasta que sean recargados los registros de segmento, permitiendo así el acceso a 4 GB de memoria extendida desde el modo real.

¡Sin embargo, la trampa es que la recarga del descriptor de segmento del cache, que ahora contiene valores "irreales", puede ocurrir asincrónicamente dentro de un manejador de excepción o interrupción, y después, incluso si el manejador intenta recargar correctamente el segmento antes del IRET (retornando de la excepción o interrupción), él fallará pues el descriptor oculto sería recargado bajo reglas del modo real, resultando en la pérdida del descriptor plano y una catástrofe inminente!. Por lo tanto, o se prohíben las interrupciones mientras se están accediendo las direcciones "irreales", que puede ser solamente por una pequeña duración, o se usa un registro de segmento (FS o GS) que esté absolutamente garantizado que no serán tocados por el Sistema operativo, el BIOS, o cualquier driver.

En un principio, este modo era considerado como un bug, pero más adelante se convirtió en una técnica estándar para los procesadores x86 y x86-64.

Algunos DOS Extenders usaron esta característica para direccionar la memoria alta. Fue usado por muchos juegos de computadora entre los años 1990 y 1995, debido a que permitió a los programadores usar más memoria que en el modo real, la cual estaba restringida a 1 MB (640 KB usables), además, todavía manteniendo el acceso al sistema operativo DOS, que no trabaja en modo protegido. Después de la introducción del modo irreal de Windows 95 rápidamente cayó en desuso pues los programas que lo usaban no podían correr en el DOS Prompt de Ms-Windows, estos programas requerían, en Windows 95 y 98, "Reiniciar en modo MS-DOS", y no podían correr para nada en sistemas Windows NT, 2000 y XP. Para esos sistemas operativos, la única manera de correr los programas diseñados para el modo irreal era un emulador como el DOSBox.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Modo protegido — El modo protegido es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores. El modo protegido tiene un número de nuevas características diseñadas para mejorar las multitareas y la estabilidad del sistema, como protección …   Wikipedia Español

  • Modo real — El modo real (también llamado modo de dirección real en los manuales de Intel) es un modo de operación del 80286 y posteriores CPUs compatibles de la arquitectura x86. El modo real está caracterizado por 20 bits de espacio de direcciones… …   Wikipedia Español

  • Modo 8086 virtual — En el microprocesador 80386 y posteriores, el modo 8086 virtual, también llamado modo real virtual o VM86, permite la ejecución de aplicaciones de modo real que violan las reglas bajo control de un sistema operativo de modo protegido. El VM86… …   Wikipedia Español

  • Modo largo — En la arquitectura de computador AMD64 (x86 64), el modo largo (long mode) es el modo donde una aplicación o sistema operativo de 64 bits pueden acceder a las instrucciones y los registros de 64 bits del procesador, mientras que los programas de… …   Wikipedia Español

  • Modo de Gerencia del Sistema — El Modo de Gerencia de Sistema, o System Management Mode (SMM) en inglés, es un modo de operación lanzado por primera vez con el Intel 386SL y disponible en microprocesadores posteriores de la arquitectura x86, en el que es suspendida toda la… …   Wikipedia Español

  • modo — {{#}}{{LM M26208}}{{〓}} {{SynM26865}} {{[}}modo{{]}} ‹mo·do› {{《}}▍ s.m.{{》}} {{<}}1{{>}} Forma o manera en que algo se hace, se presenta o sucede: • Hay tres modos de hacerlo.{{○}} {{<}}2{{>}} {{♂}}En lingüística,{{♀}} categoría gramatical que… …   Diccionario de uso del español actual con sinónimos y antónimos

  • Modo subjuntivo — El subjuntivo es una de las variedades de la categoría gramatical de modo, categoría específica de los verbos. Es el modo de la oración adjunta a cuya acción el contenido de la principal o la clase de nexo le da carácter de posible, probable,… …   Wikipedia Español

  • Modo indicativo en español — Para el modo indicativo en otras lenguas, véase Modo indicativo (gramática). El modo indicativo es un modo gramatical que se emplea en oraciones de hechos reales. Se trata del modo más utilizado y, además del español, es posible encontrarlo en… …   Wikipedia Español

  • Modo subjuntivo alemán — El modo subjuntivo es, en alemán, junto con el indicativo y el imperativo, uno de los tres modos que toma el verbo. En alemán existen dos clases de subjuntivos: el Subjuntivo I (Konjunktiv I) y el Subjuntivo II (Konjunktiv II). En juntos modos,… …   Wikipedia Español

  • Memoria expandida — Páginas o bancos de memoria expandida dentro del espacio de memoria superior (UMA). La memoria expandida fue un método desarrollado alrededor de 1984 que proporcionaba memoria paginada extra a los programas de MS DOS. Éstos programas, que corrían …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”