SEGMENTACIÓN Este método consiste en la asignación de bloques de memoria de tamaño variable, llamados segmentos. El tamaño de cada segmento será el requerido según la petición, por ejemplo el tamaño del proceso a cargar. El tamaño máximo para un segmento estará determinado por la capacidad de direccionamiento del hardware de la computadora, esto es, de cuantos bits se dispone para almacenar una dirección. El acceso a cada elemento individual (byte) en la memoria se hace mediante una dirección de memoria que se integra por dos elementos: una dirección de segmento y una de desplazamiento. La combinación (suma) de la dirección de segmento y la de desplazamiento generan la dirección de memoria
Vista de un programa por parte del Usuario
Traducción de Direcciones
s= Número de Segmento. Índice para consultar la tabla de segmentos d= Desplazamiento. Debe estar entre 0 y el límite del segmento.
Ejemplo de Segmentación
Comparación entre Paginación y Considerando Paginación Segmentación Segmentación ¿Necesita saber el No Sí programador si está utilizando esta técnica? ¿Cuántos espacios lineales de direcciones existen?
1
Muchos
¿Puede el espacio total de direcciones exceder el tamaño de la memoria física? ¿Pueden distinguirse los procedimientos y los datos, además de protegerse en forma independiente?
Sí
Sí
No
Sí
¿Pueden adecuarse facilidad las tablas tamaños fluctuantes?
con con
No
Sí
¿Se facilita el uso de procedimientos compartidos entre los usuarios? ¿Para qué se inventó esta técnica?
No
Sí
Para obtener un gran espacio lineal de direcciones sin tener que adquirir más memoria física
Para permitir que los programas y datos fueran separados en espacios independientes de direcciones y poder proporcionar la protección y uso de objetos compartidos