Segmentación
De Wiki de Sistemas Operativos
Contenido
Definición
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
Características
- Cada proceso en ejecución (este activo, bloqueado o preparado) tiene su tabla de segmentos
- Solapamiento: 2 segmentos pueden compartir zona de memoria. Ojo! problemas de concurrencia. Habría que usar algún método para su sincronización si se intenta.
- Protección de memoria: añadir 3 bit a la tabla de descriptores de segmentos para los permisos ( r w x )permisos a los segmentos
- Aspectos materiales : hay 2 registros que funcionan como dispositivos de traducción segmentada uno de dirección de comienzo de la tabla de segmentos, y otro para el numero de entradas en ella.
- Esto supone dos accesos a memoria física real. La tabla de segmentos ocupa memoria, siendo deseable que permanezcan en cache.
- Cuando un proceso requiere más memoria se crea un nuevo segmento.
- Dos instancias de un mismo proceso pueden compartir segmentos de memoria de instrucciones/código, pero no para datos ya que esto complicaría la gestión.
- No se redimensionan
- Gestión compleja, sobretodo por su tamaño variable
Carga de segmentos a petición
Enlace dinámico
Uso de llamadas a funciones que están en disco