Gestión de Memoria en Sistemas Operativos: Fragmentación, Segmentación y Paginación

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,12 KB

Fragmentación de Memoria

A medida que se cargan y eliminan procesos en la memoria, el espacio libre se descompone en fragmentos. Existen dos tipos principales de fragmentación:

  • Fragmentación Externa: Aparece cuando hay suficiente espacio total para satisfacer una solicitud, pero los espacios no son contiguos.
  • Fragmentación Interna: Ocurre cuando se asigna a un proceso un bloque de memoria mayor al que necesita. La diferencia entre el tamaño del bloque asignado y el tamaño del proceso es la fragmentación interna.

Solución a la Fragmentación Externa: Compactación

La compactación es una técnica que busca solucionar la fragmentación externa. Consiste en mover el contenido de la memoria con el fin de situar toda la memoria libre de manera contigua, formando un único bloque de gran tamaño. Sin embargo, no podemos utilizar esta solución si la reubicación es estática y se lleva a cabo en tiempo de ensamblado o de carga. Sí es posible si la reubicación es dinámica y se realiza en tiempo de ejecución.

Si se tiene un espacio libre con una cantidad determinada de bytes y un proceso solicita una capacidad aproximada a ese tamaño, no igual, se le puede asignar memoria, aunque el proceso sea ligeramente superior a la memoria solicitada. La diferencia entre esos dos valores es la fragmentación interna.

Segmentación de Memoria

La segmentación es un esquema de gestión de memoria en el que un espacio lógico de direcciones se considera una colección de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican el nombre del segmento y el desplazamiento dentro de él. El usuario especifica cada dirección proporcionando el nombre del segmento y el desplazamiento.

La tabla de segmentos se utiliza para llevar a cabo el mapeo de las direcciones bidimensionales definidas por el usuario sobre las direcciones físicas unidimensionales. Cada entrada en la tabla de segmentos tiene una dirección base del segmento y un límite de segmento. La dirección base contiene la dirección física inicial donde se encuentra el segmento en memoria, y el límite especifica la longitud del segmento.

Paginación bajo Demanda

En la paginación bajo demanda, solo se cargan las páginas que son necesarias cuando se solicitan durante la ejecución del programa. Las páginas que no son accedidas nunca estarán cargadas en la memoria física. Para diferenciar las páginas que son necesarias, se usa el bit de validez. Si el bit es válido, la página es legal y está en memoria; si es inválido, o bien la página no está en el espacio lógico de direcciones o es válida pero está en disco.

Si un proceso no accede a una página inválida, no ocurre nada. Sin embargo, si accede, se produce una interrupción de fallo de página. El procedimiento para manejar el fallo de página es el siguiente:

  1. Comprobar la tabla interna correspondiente al proceso para determinar si la referencia era un acceso válido o inválido.
  2. Si es inválida, terminar el proceso. Si es válida pero no fue cargada, se procede a cargarla.
  3. Localizar un marco libre.
  4. Leer la página en el marco recién asignado.
  5. Una vez completada la lectura, se modifica la tabla interna y la tabla de páginas para indicar que la página se encuentra en memoria.
  6. Reiniciar la instrucción interrumpida.

Sobrepaginación

La sobrepaginación ocurre cuando un proceso invierte más tiempo implementando mecanismos de paginación que en la propia ejecución del proceso. Si un proceso no tiene el número de marcos que necesita para soportar las páginas que se están usando activamente, generará fallos de página. En ese momento, deberá sustituir alguna página y, al estar todas usándose, se ve forzado a sustituir una página que va a volver a necesitar enseguida. Esto genera sucesivamente fallos de página, sustituyendo páginas que necesitará inmediatamente. Esta alta tasa de paginación se denomina sobrepaginación.

Entradas relacionadas: