-
Multiprogramación con particiones fijas (MFT)
- Dado que los procesos no tienen necesariamente que tener el mismo tamaño que las particiones, existirán espacios no utilizables dentro de estas, denominados como fracmentación interna.
-
Multiprogramación con particiones variables (MVT)
- Al dividirse la memoria en bloques de tamaño diferente, puede ocurrir que el bloque más grande no pueda contener un programa dado, a pesar de que la suma de los espacios libres sea mayor que el tamaño del programa; a esto se le denomina fragmentación externa.
-
Esquemas
- Primer ajuste: El administrador de memoria revisa toda la lista de segementos hasta encontrar un espacio los suficientemente grande. El espacio se divide entonces en dos partes, una para el proceso y la otra para la memoria no utilizada. Este algoritmo es rápido, puesto que busca lo menos posible.
- Próximo Ajuste: Funciona de la misma forma que el anterior, con la diferencia que mantiene un registro del lugar donde encuentra un hueco adecuado. La siguiente vez que se le llama, comienza a buscar siempre desdde el inicio.
- Mejor Ajuste: Busca en toda la lista y toma el mínimo hueco adecuado. En lugar de asignar un hueco grande, intenta encontrar un hueco más cercano al tamaño necesario.
- Peor Ajuste: Toma siempre el hueco más grande disponible, de forma que el hueco resultante sea lo suficientemente grande para ser útil.
-
Asignación no contigua
- En el momento de la cargra de un trabajo le corresponde al sistema operativo localizar los huecos libres existentes con las capacidades requeridas para los segementos, construir la tabla de segmentos y colocar en un registro base la dirección de ésta, si el trabajo va a ser ejecutado de inmediato. Normalmente la tabla de segementos es conservada en el PBC del proceso.
- Ventajas: Con este esquema, los programas se dividen en unidades de tamaño fijo. A estas unidades se les denomina: páginas; es decir, un programa está compuesto por un conjunto de estas. Por otro lado, la memoria física se divide en bloques de igual longitud, coincidiendo esta con la que tienen las páginas. A estos bloques se les llaman marcos de páginas; en cada uno se puede almacenar justamente una página.
- Desventajas: En el paginado no existe la fragmentación externa, pero si se presenta la fragmentación interna en el último marco de página, pues normalmente tendrá una parte de sus espacio sin uso. La solución a esto está utilizar páginas pequeñas. El tamaño de las paginas (y de los marcos) es definido por el hardware, normalmente una potencia de 2, lo cual hace la traducción de lógica a física más sencilla.
-
Segmentación
- El esquema de segmentación paginada parte de algunas ventajas de la paginación: elimina la fragmentación externa y aprovecha eficientemente la memoria; así como otras de las segmentación: visible al programador y da soporte para cada compartición y proctección. Este esquema es de frecuente uso en sistemas operativos actuales.