La administración de memoria se refiere a los distintos métodos y operaciones que se
encargan de obtener la máxima utilidad de la memoria, organizando los procesos y
programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el
espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la información que
deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta
administración se conoce como Memoria Virtual ya que no es la memoria física del
procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta
memoria permite que el sistema cuente con una memoria más extensa teniendo la misma
memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto,
que los programas que son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición fija, que
es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la partición
dinámica, que son las particiones de la memoria en tamaños que pueden ser variables,
según la cantidad de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administración de memoria se
encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera e la
memoria principal para maximizar la utilización del procesador; la protección, mecanismos
que protegen los procesos que se ejecutan de interferencias de otros procesos; uso
compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos
procesos de un mismo programa que comparten una tarea tengan memoria en común.
La parte del sistema operativo que administra la memoria se llama administrador de
memoria y su labor consiste en llevar un registro de las partes de memoria que se estén
utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando
éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre
la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar
capacidad a todos los procesos que tienen necesidad de ella.
Los sistemas de administración de memoria se pueden clasificar en dos tipos: los que
desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y
los que no.
Para poder comprender como se administra la memoria es necesario conocer primero que
es la memoria principal, por lo que a continuación se citaran algunas definiciones:
La memoria principal puede ser considerada como un arreglo lineal de localidades
de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene
asignada una dirección que la identifica.
Memoria interna del sistema informático, con direcciones accesibles por los
programas y que puede cargarse en los registros para su posterior ejecución o
procesamiento.
Lugar en el cual se almacenan datos e instrucciones en una computadora antes y
durante su ejecución.
Sea cual sea el esquema de organización del almacenamiento que se adopte para un
sistema específico, es necesario decidir que estrategias se deben utilizar para obtener un
rendimiento óptimo.
Política
El sistema operativo debe llevar a cabo una política de espacio de asignación de memoria.
Esto es necesario cuando se precisa crear el mapa de memoria de un proceso que ocupa
un determinado tamaño para poder así determinar qué zonas libres se deberían utilizar;
esto con el fin de lograr conjugar los siguientes aspectos:
- Buen aprovechamiento de la memoria
- Algoritmo de decisión eficiente
Entre las políticas de asignación de memoria tenemos las siguientes:
FIFO
Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si
un proceso llega al procesador sale hasta que termine. La política FIFO actualmente no se
usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una
política de prioridades y hay procesos con la misma prioridad, a estos se les podría aplicar
FIFO.
Round Robin
Los procesos se atienden en la forma que lo hace el FIFO, pero se les asigna una cantidad
limitada de tiempo en el procesador, si no termina en ese lapso se manda al final de la lista
de procesos listos.
SJF (Shortest job first - Prioridad del trabajo más corto)
Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece
a los procesos cortos, ya que los largos podrían llegar a rezagarse mucho tiempo e incluso
nunca ejecutarse.
SRT (Sortest remaining time scheduling – Tiempo restante más corto)
En SJF una vez que un proceso comienza su ejecución continúa hasta terminar. En SRT,
un proceso en ejecución puede ser desposeído por uno nuevo de menor tiempo de
ejecución.
HRN: (highest response ratio next – Prioridad de la tasa de respuesta más alta)
Política no apropiativa que corrige el retraso excesivo de procesos grandes que produce el
SJF, para así no caer en un favoritismo excesivo por los procesos cortos, lo logra usando
una formula basada en el tiempo de espera y el tiempo de servicio, con lo cual la prioridad
de cada trabajo no solo está en función del tiempo de servicio sino también del tiempo que
ha esperado para ser atendido.
No hay comentarios.:
Publicar un comentario