Memoria segmentada

La memoria segmentada es un sistema de direccionamiento de la memoria de la computadora, que puede ser física o virtual y puede estar operando en modo real o protegido.

El sistema de memoria segmentada se utilizó para ampliar el límite de 64 KB en el espacio de direcciones planas de primera generación. Las computadoras fabricadas antes de la memoria segmentada usaban un sistema de direccionamiento plano basado en un código hexadecimal de cuatro dígitos. Con hexadecimal, el número más alto de 4 dígitos que puede crear es FFFF (o 65535), que equivale a 64 KB.

El direccionamiento de memoria segmentada, la alternativa al esquema plano, se utiliza en sistemas de 16 bits como MS-DOS Windows 3.1, para direccionar segmentos de memoria de 64 KB con un desplazamiento para especificar dentro del segmento.

La generación del procesador Intel 8086 fue diseñada para manejar hasta 1 MB de memoria, pero se vio obstaculizada por los límites del espacio de direcciones plano. En lugar de rediseñar todo el sistema de memoria, Intel lo modificó para lograr una mayor capacidad a través de una dirección compuesta de dos partes de 16 bits.

La MMU (unidad de gestión de memoria) interpretaría el segmento, así como su desplazamiento, para encontrar la dirección física. Una vez que se localizó la dirección, la MMU preguntaría si los permisos de memoria permitían la solicitud y, de ser así, la realizaban.

Estrictamente hablando, el espacio de direcciones plano que se utiliza en la informática de 32 bits en realidad está segmentado. Sin embargo, todo el espacio es un solo segmento que aborda la totalidad del segmento de 32 bits o el espacio de memoria de 4 GB.