SO multiprogramables con particiones variables
De Wiki de Sistemas Operativos
Elementos de administración
- Mapas de bits: Dividiendo la memoria en bloques, se utiliza un bit para representar si dicho bloque está libre o asignado.
- Listas de control: Se almacena en una lista el tamaño de los huecos y las posiciones de memoria entre las que se encuentran comprendidos.
Criterios de asignación
- Primer ajuste: Consiste en asignar el primer hueco disponible que tenga un espacio suficiente para almacenar el programa. Las dos principales desventajas son su alto desperdicio interno, y el elevado uso de las primeras posiciones de memoria. Este último inconveniente repercute negativamente en la circuitería, debido a que se produce un mayor desgaste en dichas posiciones.
- Siguiente ajuste: Se continúa a partir de la posición de la última asignación realizada. De esta forma se resuelve el inconveniente de usar en exceso las primeras posiciones de la memoria.
- Mejor ajuste: Consiste en asignarle al proceso el hueco con menor ajuste interno. Su mayor inconveniente es su orden de complejidad (orden lineal, O(n))
- Peor ajuste: Al contrario que el criterio anterior, se asigna a cada proceso el hueco con mayor ajuste interno. Tiene el mismo inconveniente en cuanto a orden de complejidad que el mejor ajuste.
- Ajuste rápido: Mediante listas de control, se agrupan los huecos disponibles según su tamaño (0 < t < 10, 10 < t < 20, etc.). De esta manera, cuando se necesite un hueco, se seleccionarán los del grupo del tamaño correspondiente. En el caso de que haya varios huecos disponibles, se seleccionará uno en base a cualquiera de los criterios anteriores.
- Método de los compañeros: Es una variante del ajuste rápido, en el que los huecos se dividen en potencias de 2: 21, 22, ..., 2k. No es un método usado en la práctica, ya que al realizar redondeos a potencias de 2, se produce un elevado desperdicio interno