Segmentación y Paginación: Métodos de Gestión de Memoria en Sistemas Operativos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,33 KB
Arquitectura de la Segmentación
Una dirección lógica se compone de una tupla: <número_de_segmento, desplazamiento>.
La tabla de segmentos contiene una entrada para cada segmento. Cada entrada contiene:
- Base: la dirección física de inicio del segmento en memoria.
- Límite: especifica la longitud del segmento.
Una dirección lógica <s, d> es válida si d es menor que el límite de s.
La dirección física de <s, d> es d + la base de s.
Protección y Uso Compartido
- Protección basada en los registros base y límite.
- Se pueden establecer distintos derechos de acceso (rwx) a cada segmento del proceso.
- Estos derechos suelen guardarse en la tabla de segmentos de cada proceso (bits de acceso).
- El uso compartido es uno de los argumentos más importantes en favor de la segmentación.
- ¿Cómo pueden dos o más procesos compartir un segmento? Basta con que dos entradas en las dos tablas de segmentos (que no tienen por qué coincidir en número) apunten a la misma dirección base.
Desventajas de la Segmentación
- Se produce fragmentación externa.
- De vez en cuando requiere compactación de memoria.
- Tamaño máximo de segmento: puede existir un proceso que requiera un segmento de tamaño mayor.
Métodos de Asignación de Memoria: Paginación
- Es un esquema de gestión de memoria en el que la asignación de memoria no es contigua.
- Se divide la memoria física en bloques de tamaño fijo llamados frames (marcos de página); el tamaño es una potencia de 2, entre 512 y 8192 bytes.
- Se divide la memoria lógica en bloques del mismo tamaño llamados pages (páginas).
- Una tabla de páginas registra la traducción de direcciones lógicas a físicas (TDP).
Esquema de Traducción de Direcciones
Una dirección generada por la CPU se divide en:
- Número de página (p): se usa como índice a una tabla de páginas que contiene la dirección de cada página en la memoria física.
- Desplazamiento en la página (d): se combina con la dirección básica para definir la dirección de memoria que se envía a la unidad de memoria.
Tabla de Páginas
- La tabla de páginas se guarda en la memoria principal.
- Page-table base register (PTBR): el registro básico que apunta a la tabla de páginas.
- Page-table length register (PTLR): indica el tamaño de la tabla de páginas.
- En este esquema cada acceso a datos requiere dos accesos a memoria: uno para la tabla de páginas y otro para el dato/instrucción.
- El problema de accesos dobles a memoria puede resolverse con hardware especializado llamado associative memory o translation look-aside buffers (TLBs).
- Se puede implementar con un caché rápido en hardware.
- Traducción de direcciones (p, d):
- Acierto (hit): si p se encuentra en el búfer.
- Fallo (miss): si no se encuentra en el búfer, recuperar el marco # d de la tabla de páginas en la memoria principal.