¿Qué son los registros de segmento? ¿Por qué la memoria está segmentada? ¿Cómo se realiza la segmentación de la memoria?


Mejor respuesta

Un segmento es una porción contigua de memoria. En un esquema de memoria segmentada, toda la memoria de un proceso está en segmentos. Los primeros sistemas de memoria virtual (Burroughs B5000, Mulitcs) se basaban en segmentos de tamaño variable que se copian dentro y fuera de la RAM.

Un programa hace referencia a cada segmento como un desplazamiento a un registro de segmento. El contenido real del registro de segmento está controlado por el sistema. El sistema sabe cuándo se hace referencia a un segmento cuando se usa el registro de segmento, y lo usa para administrar la memoria virtual.

Esto contrasta con paged memoria virtual, utilizada en todas partes hoy en día, donde los cuantos de memoria virtual son fragmentos de memoria de tamaño fijo. La paginación es más compleja y requiere más soporte de hardware.

Multics del MIT ha tenido un impacto masivo en la computación moderna (incluidas muchas ideas incorporadas en Unix y Linux). Fred Pollack se unió al proyecto Intel 286 recién salido del MIT. Vio los registros de «segmento» del 8086 (en realidad, registros base) y presionó con éxito para hacer estos registros de segmento reales como en Multics. (Fred se convirtió más tarde en miembro de Intel).

Los segmentos de 64 KB del 286 sufrieron el mismo problema que los segmentos de Multics: eran demasiado pequeños. Con demasiada frecuencia, se necesitan múltiples segmentos para acceder a las estructuras de la memoria, lo que significa recargar los registros de segmento y, a menudo, involucrar al sistema operativo. Debido al impacto en el rendimiento, la segmentación rara vez se usaba y los registros de segmento se usaban como registros base en el modo de compatibilidad 8086.

El Intel 386 de 32 bits agregó memoria virtual paginada (¡SÍ!) Debajo del esquema de segmento ). El modelo de arquitectura Intel de 64 bits elimina por completo los registros de segmento, aunque todavía tiene modos de compatibilidad desde el 8086.

Respuesta

1. ¿Qué son los registros de segmento?

-> Como todos sabemos, los registros están presentes en el procesador. creamos segmentos en la memoria (segmentación). Para obtener la ubicación inicial de estos segmentos almacenamos la dirección de estos segmentos en el registro de segmento. en los registros de segmento corto se almacena la ubicación inicial de los segmentos presentes en la memoria, es decir, la dirección del segmento.

3.¿Cómo se realiza la segmentación de la memoria?

-> La segmentación de la memoria se realiza utilizando direcciones de 16 bits. Primero damos la dirección del segmento (inicio del segmento), después de dar la dirección del segmento, damos la dirección de desplazamiento () para acceder a las ubicaciones en ese segmento.

damos la dirección del segmento solo una vez, después de eso damos la dirección de desplazamiento.

damos la dirección del segmento y dirección de compensación ambas direcciones de 16 bits como programador. Después de dar esta dirección, es deber del procesador convertir ambas direcciones en direcciones físicas (dirección real).

dirección física = dirección de segmento * 10 + dirección de compensación

= 1000 * 10 + 2345

= 12345H

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *