domingo, 11 de marzo de 2012

Administracion de Memoria

Administración de memoria

L
a parte del sistema operativo que administra la memoria se llama administrador de la memoria.
Para ello existen diferentes esquemas de administración de memoria desde los más simples hasta los más elaborados entre los cuales se ubican:

v  Administración de la memoria sin intercambio o paginación.
v  Intercambio.
v  Memoria Virtual.
v  Algoritmos de reemplazo de páginas.
v  Segmentación


v  Administración de la memoria sin intercambio o paginación.
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 (intercambio y paginación) y aquellos que no.
*Monopogramación sin intercambio o paginación.  Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante.
*Multiprogramación y uso de la memoria. Facilita la programación de una aplicación al dividirla en dos o mas procesos.
*Multiprogramación con particiones fijas. El objetivo en todo esto es tener más de un proceso en memoria a la vez.

v  Intercambio
En un sistema por lotes la organización de la memoria en particiones fijas es adecuado pero en un ambiente multiusuario la situación es distinta con el tiempo compartido, ya que existen mas usuarios de los que puede albergar la memoria, por lo que es conveniente albergar el exceso de los procesos en disco., por supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria principal. Al traslado de procesos de disco a memoria y viceversa se le llama intercambio.
*Multiprogramación con particiones variables. Mediante un algoritmo de administración de memoria las particiones variables varían de forma dinámica durante el uso de la máquina, evitando desperdicio de memoria Otros métodos de administración de memoria que tenemos son:
-  administración de memoria con mapa de bits.
 - administración de memoria con listas ligadas.
-  administración de memoria con el sistema de los asociados.
v  Memoria Virtual
La idea es que el tamaño combinado de la pila, programa y datos puede exceder la memoria física disponible para ello. El S.O. mantiene en memoria aquellas partes del programa que se deben permanecer en memoria y el resto lo deja en disco, las partes entre el disco y la memoria se intercambian de modo que se vayan necesitando.
* Paginación. El espacio de direcciones de cada proceso se divide en bloques de tamaño uniforme llamados páginas, los cuales se pueden colocar dentro de cualquier para página marco disponible en memoria.
*Memoria asociativa. En los algoritmos de paginación las tablas de páginas se mantienen en la memoria debido a su gran tamaño, en potencia este diseño tiene un efecto enorme en el rendimiento.

v  Algoritmos de reemplazo de páginas.
Cuando ocurre un fallo de página el sistema operativo debe elegir una página para retirarla de la memoria y hacer un espacio para la página por recuperar. Si la página por eliminar fue modificada mientras estaba en memoria, debe escribirla en el disco para mantener actualizada la copia del disco, si por el contrario la página no ha sido modificada la copia del disco ya está actualizada por lo que no es necesario volver a escribir, la página por leer sólo escribe encima de la página por retirar.
*Algoritmo de reemplazo de páginas optimo. Mejor algoritmo posible para reemplazo de páginas pero irrealizable en la práctica.
*Algoritmo de página de uso no muy reciente. En un fallo de página, el sistema operativo inspecciona todas las páginas y las divide en cuatro categorías CLASE 0,1,2 y 3 según los valores actuales de los bits R y M..
*El algoritmo NRU implica una hipótesis que indica que es mejor eliminar una página modificada sin referencias al menos por lo general un intervalo de reloj, este algoritmo es fácil de comprender, de implantación eficiente y con un rendimiento que, aún sin ser el óptimo si es adecuado en muchos casos.
*Algoritmo de reemplazo " primero en entrar, primero en salir FIFO".El sistema operativo tiene una lista de todas las páginas que se encuentran en memoria, siendo la primera página la mas antigua y la última la mas reciente, en un fallo de página, se elimina la primera página y se añade la nueva al final de la lista.
* Algoritmo de reemplazo de páginas de la segunda oportunidad Una modificación simple del FIFO que evita deshacerse de una página de uso frecuente inspecciona el bit R de la página mas antigua, busca una página antigua sin referencias durante el anterior intervalo de tiempo.
* Algoritmo de reemplazo de páginas del reloj Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las páginas en una lista circular con la forma de un reloj.

v  Segmentación
Una memoria segmentada tiene otras ventajas como hacer mas sencilla la administración de las estructuras de datos que crecen o se reducen, si cada procedimiento ocupa un segmento independiente con la posición inicial cero el ligado independiente de los procesos compilados es mucho más sencillo.

No hay comentarios:

Publicar un comentario