You are on page 1of 13

Las particiones son de

longitud y número de
variable y cuando se lleva
un proceso a la memoria
principal, se le asigna
exactamente tanta
memoria como requiera y
no más.
A medida que pasa el tiempo la
memoria se fragmenta y la
utilización se decrementa.
A este fenómeno se conoce
como fragmentación externa.
Una técnica para eliminar la
fragmentación externa es la
compactación
El proceso de compactación
se refiere a satisfacer una
necesidad de tamaño (N) en
una lista de huecos libres. Sin
embargo, esta técnica se trata
de un procedimiento que
consume tiempo y malgasta
tiempo de procesador
ALGORITMO DE UBICACIÓN
El diseñador del sistema operativo debe decidir
como asignar la memoria a los procesos (como
eliminar los huecos). Cargar o intercambiar un
proceso a la memoria principal.
Para esto, se presenta tres algoritmos de
colocación
• Mejor ajuste (Best-fit)
• Primer ajuste (First-fit)
• Siguiente ajuste (Next-fit)
Mejor ajuste:
Escoge el bloque mas cercano en tamaño a la petición

No hay una partición con un espacio adecuado para t3, por lo tanto, al igual que las
particiones fijas esta quedaría en cola.
Finalmente es ingresar t5 que pesa 20, pero hay dos particiones que están
disponibles y son adecuados para esta tarea que son la partición de (30 a 50) y de
(160 a 180).
Es la partición que mas se ajuste a su tamaño, por consiguiente se podría asignar
a cualquiera de los dos espacios, en esta ocasión lo pondremos en la partición de
(160 a 180).
Primer ajuste:
Comienza analizar la memoria desde el principio y escoge el primer bloque
disponible que sea suficientemente grande.

Ahora ingresaremos t5 nuevamente, pero esta vez como es primer ajuste


obligatoriamente debe de ir en la partición de (30 a 50) ya que el primer ajuste
indica que se debe de asignar el proceso en la primera partición que sea mas
ajustada a su tamaño.
Siguiente ajuste:
Comienza analizar la memoria desde la ultima colocación y elige el siguiente
bloque disponible que sea suficientemente grande.

Asignamos t4, pero el punto de partida es t2 ya que fue la ultima en asignarse,


por consiguiente la siguiente casilla se asignara, pero en el siguiente ajuste hay
que tener en cuenta, que también es la partición que mas se ajuste al tamaño
de la tarea, así este algoritmo pasara a la siguiente partición hasta que
encuentre una partición del mismo tamaño que la tarea o un poco mas grande
para poder optimizar memoria.
El algoritmo primer-ajuste no es sólo es el mas
sencillo, sino que es el mejor y mas rápido.

El algoritmo siguiente-ajuste tiende a producir


resultados ligeramente peores que el primer-
ajuste, además llevará mas frecuentemente a
una asignación de un bloque libre al final de la
memoria. Por lo tanto el alg. Siguiente-ajuste
requiere mas frecuentemente la compactación.

En caso del algoritmo mejor-ajuste, su


comportamiento normalmente es el peor,
debido a que busca el bloque mas pequeño que
satisfaga la petición.
ALGORITMO DE REEMPLAZAMIENTO
Supongamos que todos los procesos de la memoria
principal están en estado bloqueado y no haya
suficiente memoria para un proceso adicional, incluso
después de realizar la compactación.
Para evitar mal gastar tiempo de procesador, el S.O.
debe intercambiar alguno de los procesos entre la
memoria principal y disco para hacer sitio a un nuevo
proceso o para un proceso que se encuentre en
estado listo-suspendido.
Por lo tanto, el S.O. debe escoger que proceso
reemplazar para continuar otros procesos en cola.
PREGUNTAS
1.- ¿A que se refiere con proceso de compactación?
2.- ¿En que consiste el alg. Primer-ajuste?
3.- Si fueras un diseñador de un nuevo sistema
operativo, cual de los 3 algoritmos de colocación
emplearías? ¿Y porque?

You might also like