Administrador De Memorias - Veloza Utp
La administración de la memoria principal es vital. El desempeño de todo sistema ha dependido de dos cosas: cuánta memoria esté disponible y de qué manera se utiliza mientras se procesan los trabajos o tareas.
El administrador de memoria presenta cuatro tipos de esquemas de asignación de memoria:
1. Esquema Contiguo de Usuario Único
Cada programa que se iba aprocesar se cargaba en la memoria y se le asignaba tanto espacio contiguo como necesitase. Si el programa era demasiado grande este no se ejecutaba, para lo cual se incrementaba el tamaño de la memoria o se modificaba el programa o se superponía en segmentos de programa.
Algoritmo para cargar una tarea:
1. Almacene la primera localidad de memoria del programa en el registro.
2. Poner elcontador del programa = que la dirección de la primera localidad de memoria.
3. Lea la 1ra instrucción del programa.
4. Incremente el contador en el número de bytes que ocupa la instrucción.
5. Ha llegado a la ultima instrucción?
Si es así; pare la carga del programa.
Si no es así; continué el paso 6.
6. El contador de programa es mas grande que el tamaño de la memoria?
Si es así; deje de cargar.Si no es así; continué paso 7.
7. Cargue la instrucción en la memoria
8. Lea la siguiente instrucción del programa.
9. Vaya al paso 4.
2. Esquema Particiones Fijas
Una partición fija para cada tarea fue lo que posibilito la multiprogramación. Cada partición se especificaba al encender el sistema, para modificarlo era necesario apagar, reconfigurar o reiniciar el sistema.
Este esquema departición es más flexible que el de usuario único porque permita que varios programas estén en memoria al mismo tiempo.
Algoritmo para cargar una tarea:
1. Determine el tamaño de memoria solicitado por la tarea.
2. Si el tamaño de la tarea es > que la partición mas grande entonces rechace la tarea.
Imprima un mensaje adecuado para el operador.
Sino
Vaya al paso 3.
3. Ponga el contador en1.
4. Mientras el contador sea tamaño de la partición de memoria (contador)
Entonces contador=contador+1
Sino
Si el estado de partición de la memoria (contador)= “libre”
Entonces cargue la tarea en la partición de memoria (contador)
Cambie el estado de partición de memoria (contador)= “ocupado”
Vaya al paso 1
Sino
contador=contador+1
Fin mientras
5. No hay una partición disponible eneste momento: Coloque la tarea en la cola de espera.
6. Vaya al paso 1.
3. Esquema Particiones Dinámicas
Aún se conserva en bloques contiguos, se da memoria a las tareas solo cuando lo solicitan para su procesamiento.
“Primero en llegar, primero en recibir atención”.
Utiliza toda la memoria al cargar las primeras tareas. Pero conforme entran nuevas tareas en el sistema, que no son del mismotamaño de las que acaban de salir de la memoria, se acomodan en los espacios disponibles de acuerdo con su prioridad.
Se desperdicia memoria, se dan las fragmentaciones externas e internas.
Asignación de Mejor Ajuste En Comparación con Primer Ajuste
Para los esquemas de Asignación fija y de memoria dinámica, el SO debe mantener listas de cada localidad de memoria, anotando cuáles estánlibres y cuáles están ocupadas. Luego, conforme entran nuevas tareas en el sistema, las particiones libres se deben asignar.
Según la técnica del primer ajuste (la primera partición que llena los requisitos), la cual organiza las listas libres/ocupadas por localidades de memoria, de bajo orden hasta alto orden.
Según la técnica de mejor ajuste (la partición más pequeña que llena los requisitos), lacual mantiene las listas libres/ocupadas en orden por tamaño, desde la más pequeña a la más grande.
Algoritmo de Mejor Ajuste:
1. Inicialice el bloque de memoria(0) = 99999.
2. Calcule el desperdicio inicial de memoria = bloque de memoria(0) - tamaño de la tarea.
3. Inicialice el subíndice = 0.
4. Ponga el contador en 1.
5. Mientras el contador tamaño de la memoria(contador)
Entonces...
Regístrate para leer el documento completo.