es una técnica de gestión de memoria que pretende acercarse
más al punto de vista del usuario. Los programas se desarrollan,
generalmente, en torno a un núcleo central (principal) desde el
que se bifurca a otras partes (rutinas) o se accede a zonas de
datos (tablas, pilas, etc).
Un segmento es un espacio de
memoria de tamaño variable,
compuesto por:
Descriptor: Identificador único del segmento (dentro
del espacio de memoria del proceso).
Tamaño del segmento
Funcionamiento
Carga de segmentos a petición
Es un mecanismo que permite a un proceso no disponer de todos sus
segmentos en memoria principal, se pueden descargar a disco segmentos en
base a un cierto criterio. Esta zona de intercambio puede ser:
Un lugar fijo en el disco (Linux, Unix). El
administrador de memoria decide qué segmento se
va a descargar
Un fichero oculto de tamaño fijo o variable
dependiendo de la configuración dada por el
usuario (Windows).
Formas de uso de los descriptores
En cuanto a aspectos materiales, se plantea el problema de que no es habitual que la tabla de
segmentos quepa en el dispositivo de traducción (Memory management unit o MMU), por lo que se
almacena la tabla en memoria, y el MMU contiene su dirección. El problema es que esta técnica hace
que el tiempo de acceso se duplique, al haber un primer acceso al MMU y un segundo acceso a la
dirección efectiva. Se plantean dos soluciones no excluyentes: