¿Qué es el modo real?
El modo real es un esquema de direccionamiento de memoria y un estado operativo para microprocesadores de computadora. En modo real, la memoria a la que puede acceder un programa, generalmente la memoria de acceso aleatorio (RAM), no es administrada ni almacenada de ninguna manera por el hardware, el software o los servicios básicos de entrada y salida (BIOS). Esto significa que un programa puede acceder a todas las direcciones de memoria accesibles, independientemente de para qué se esté utilizando la memoria, y debe administrar todos los aspectos de lectura y escritura en ubicaciones de memoria por sí mismo. El uso del modo real incluye varias restricciones, incluido el hecho de que la cantidad de memoria accesible está limitada a 1 megabyte, porque el procesador en este modo permite que las direcciones tengan solo 20 bits de longitud. Desde una perspectiva práctica, el software de la computadora ya no usa el modo real, porque fue reemplazado por un modo de direccionamiento más seguro, expansible y más flexible conocido como modo protegido.
La unidad central de procesamiento (CPU) de una computadora es donde se puede activar el modo real, y la mayoría de los aspectos del modo en realidad tratan problemas que generalmente se ven en aplicaciones escritas en lenguaje ensamblador, porque son de naturaleza bastante atómica. Los chips de procesador que se basan en la arquitectura original 8086 comienzan en modo real cuando se encienden para poder ejecutar programas que fueron escritos para hardware anterior, aunque esto a menudo requeriría que el software de emulación fuera exitoso. El modo protegido ha reemplazado casi por completo el direccionamiento real, a partir de 2011, hasta el punto de que hay muy pocos compiladores disponibles que incluso puedan compilar un programa que pueda utilizar el direccionamiento real y aún menos sistemas operativos convencionales que puedan ejecutarlo.
La memoria en modo real es básicamente una secuencia lineal única de bytes a la que se puede acceder libremente con una dirección compuesta por una dirección de segmento de 16 bits y un desplazamiento de 4 bits dentro del segmento, lo que hace una dirección completa de 20 bits cuando se combina. Un programa puede acceder a cualquier punto de la memoria y leer o escribir cualquier cosa, independientemente de lo que se encuentre en la ubicación. Esto significa que, sin una gestión y conocimiento adecuados, un programa que utiliza el modo de direccionamiento real podría sobrescribir fácilmente el sistema operativo y el BIOS del sistema, desencadenar una interrupción física del hardware o enviar accidentalmente una señal a un dispositivo periférico. Esto no solo podría causar que un sistema se congele o se bloquee, sino que también podría causar pérdida de datos o daños físicos al hardware.
A medida que la arquitectura del procesador avanzó, el modo protegido eventualmente reemplazó al modo real en casi todo el software. Con el tiempo, el uso del modo de direccionamiento real se volvió innecesario, porque era incapaz de acceder a más de 1 megabyte de RAM e incapaz de usar más de 20 bits del bus del sistema, lo que significa que solo podía usar una fracción de los recursos disponibles en la mayoría ordenadores. El direccionamiento real también plantea un riesgo de seguridad significativo. Una de las pocas formas de escribir un programa que usa el modo de direccionamiento real es usar lenguaje ensamblador y ejecutar el programa bajo un sistema operativo de disco especial (DOS) que no cambia automáticamente al modo protegido al inicio.