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.

Entradas relacionadas: