Sistemas operativos
Asignación Contigua de Memoria con Particiones Variables: Mejor Ajuste ("Best Fit")
Gabriela Andreu
*Creado con Easy Java Simulations
Nuestros Objetivos
• Describir la politica de asignación de memoria con particiones variables de mejor ajuste.
• Analizar la eficicencia de la técnica de mejor ajuste.
Términos relacionados: Asignación Contigua, Compactación, Fragmentación Externa.
Términos relacionados: Asignación Contigua, Compactación, Fragmentación Externa.
La Asignación Contigua de Memoria
El sistema operativo (s.o.) es el responsable de asignar memoria principal a los
procesos para que puedan ser ejecutados.
En un modelo de memoria con asignación contigua, todo el espacio lógico
de un proceso (Código, Datos, Pila) ha de estar ubicado de forma contigua
en memoria principal, es decir en direcciones físicas consecutivas
Cuando un proceso finaliza libera la memoria ocupada.
Asignando Memoria con Particiones Variables
Se considera inicialmente toda la memoria como un único hueco para ubicar procesos
Cada vez que llega un proceso al sistema se busca
un hueco lo suficientemente grande para ubicarlo.
Con
particiones variables sólo se le asigna al proceso el espacio
que necesita del total del hueco y el resto pasa a formar un nuevo hueco.
El estado de la memoria varía con el tiempo, puesto que cuando un proceso
finaliza su ejecución se libera su memoria y se crea un hueco nuevo.
El s.o. lleva la contabilidad de huecos libres y el
tamaño de dichos huecos.
La lista de huecos puede estar ordenada por
direcciones o por tamaños, buscando siempre la eficiencia.
La fragmentación externa aparece cuando hay
suficiente memoria para ubicar un nuevo proceso, pero el espacio disponible no esta contiguo.
La solución al problema de la fragmentación externa es la compactación.
Estudiamos la Política de Mejor Ajuste (“Best Fit”)
El sistema operativo (s.o.) lleva a cabo una politica de asignación de
espacios a procesos intentando conjugar dos aspectos:
buen aprovechamiento de la memoria y algoritmo de decisión eficiente.
La política de
mejor ajuste asigna a un proceso el
hueco más pequeño,de la lista de huecos, que sea lo suficientemente grande para poder ubicarlo en él.
La búsqueda de hueco, puede comenzar desde el principio de la
lista de huecos o desde donde finalizó la búsqueda anterior. Para encontrar el hueco
adecuado es necesario explorar
la lista completa, a menos que ésta esté ordenada según tamaño de hueco.
PRACTIQUE EL FUNCIONAMIENTO DEL PRIMER HUECO (
"BEST FIT")
Utilizando la figura podemos practicar la técnica del
Mejor Ajuste:
- Para ubicar procesos en memoria con la técnica del Mejor Ajuste lo
seleccionamos con un doble click.
- Para finalizar la ejecución de procesos los seleccionamos en la memoria
principal con un click.
- Si los huecos no son lo suficientemente grandes para ubicar un proceso podemos
compactar
Applet
Ahora podemos contestar a estas preguntas:
- ¿Es más eficiente aplicar el mejor ajuste con una lista de huecos
ordenada por tamaño o por direcciones?
- ¿Qué utilidad tendría tener la lista de huecos ordenada por direcciones?
- ¿Tiene ventajas utilizar una lista de huecos ordenada por tamaños?
Resumimos lo aprendido
• La práctica nos ha mostrado que la estrategia del mejor ajuste tiene un aprovechamiento de la memoria aceptable.
• Esta estrátegia genera los huecos más pequeños posible, con la memoria
sobrante una vez ubicado un proceso en un hueco.
• Además hemos comprobado que la estrategia del mejor ajuste sufre
problemas de fragmentación externa.