Gestión de Memoria en Sistemas Operativos: Reubicación, Swapping y Particiones

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

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

Gestión de Memoria

Tal problema se resuelve utilizando un registro límite en el cual el SO puede cargar una dirección límite variable entre diferentes instancias de ejecución.

En consecuencia, cada dirección generada por un proceso exige la comprobación dirección < Límite

Monitor residente

Reubicación:

Si la dirección límite es

  • Constante, los compiladores generan código con direcciones absolutas.
  • Variable, los compiladores deben generar código con direcciones relativas, es decir, código reubicable.

En ambos casos, el límite debe ser estático durante la ejecución de un programa.

Monitor residente

Reubicación:

Hay casos en los cuales se requiere modificar el tamaño del monitor durante la ejecución de un programa, como es el caso de la invocación de rutinas poco usadas por el SO. Esta situación se puede resolver de dos formas:

  • Cargar el código en la parte alta de la memoria.
  • Modificar dinámicamente las direcciones del código de usuario de acuerdo a los cambios que experimente el valor límite contenido en un registro base.

3. Swapping

  • Modalidad de tiempo compartido.
  • Utiliza monitor residente.
  • Requiere de memoria auxiliar soportada en medio magnético de acceso directo (Hd).
  • La cola de procesos listos se transforma en:

Cola de procesos inactivos listos.

Tiempo de Swapping

  • Tiempo destinado a cambios de contexto.
  • Extremadamente alto.
  • Se debe a que el intercambio es una acción que se completa con la descarga de un proceso y la carga de otro.
  • Se ha demostrado experimentalmente que el tiempo de transferencia es directamente proporcional a la cantidad de memoria intercambiada.

Swapping Traslapado

  • Concebida como solución al problema inherente a la modalidad anterior.
  • Consiste en traslapar la ejecución de un proceso con la operación de intercambio entre otros dos procesos mediante dos buffers.

4. Particiones múltiples

  • Modalidad de multiprogramación.

La memoria del usuario se divide en varias regiones o particiones.

Protección

  • Particiones fijas (MPF).
  • Fragmentación.
  • Particiones variables (MPV).
  • Fusión y compactación.

Estrategias de colocación

Protección

Para garantizar que las direcciones generadas por un proceso pertenezcan a la partición en la cual reside, se deben conocer sus valores límite. Esto se consigue de dos maneras:

  • Registros límite: son dos registros que contienen las direcciones físicas extremas de una partición
    Þ  Ii < dirección < Si
  • Registros base y límite: son dos registros que contienen, uno la dirección física de comienzo de la partición y el otro, el tamaño de la misma.
    Þ 0 <

Particiones fijas (MPF)

  • Los tamaños de las particiones son estáticos en el tiempo y un proceso activo mantiene tal calidad hasta completar su ejecución.
  • Los trabajos que deseen adquirir la calidad de proceso deben situarse en una cola. Para tal efecto, se proponen dos opciones:

Colas múltiples Þ cantidad colas = número de particiones

  • Cola única.
  • La modalidad MPF involucra un problema de diseño en cuanto a la determinación del número de particiones y del tamaño de cada una de ellas.

Fragmentación

  • Un trabajo que precise m palabras de memoria puede ejecutarse en una partición de n palabras, con n>m. El espacio n - m no utilizado se conoce como fragmentación interna.
  • En cambio, el espacio correspondiente a una partición no utilizada por incapacidad de contener algún trabajo se conoce como fragmentación externa.

Entradas relacionadas: