Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
La parte del sistema operativo que se encarga del
manejo de la memoria se denomina
administrador de la memoria. Su labor
consiste en llevar un registro de qu partes de la
memoria se estn utilizando y qu partes no, con
el fin de asignar espacio a los procesos cuando
estos hagan requerimientos, liberarlo cuando
terminen, as como administrar el intercambio
entre la memoria principal y el disco, en el caso
en que esta no pueda albergar a todos los
procesos. Tambin facilita los mecanismos de
proteccin para que un proceso no invada el
espacio de otros procesos.
Administracin de memoria
Conceptos:
La organizacin y la administracin de la memoria
principal , memoria primaria o memoria real es
uno de los factores ms importantes que influyen
en el diseo de los Sistemas
Operativos.
Monoprogramacin.
La organizacin fsica bajo este esquema es muy
simple: El sistema operativo se ubica en las
localidades superiores o inferiores de la memoria,
seguido por algunos manejadores de dispositivos
(`drivers').
Esto deja un espacio contiguo de memoria
disponible que es tomado por los programas del
usuario, dejando generalmente la ubicacin de la
pila (`stack') al ltimo, con el objetivo de que
sta pueda crecer hasta el mximo posible.
Administracin de memoria
Monoprogramacin.
Administracin de memoria
Multiprogramacin en memoria real.
Multiprogramacin: consiste en poner en
la memoria fsica ms de un proceso al
mismo tiempo, de manera que si el que se
est ejecutando en este momento entraba
en un perodo de entrada/salida, se puede
tomar otro proceso para que usara la
unidad central de procesamiento.
De esta forma, la memoria fsica se divide en
secciones de tamao suficiente para contener
a varios programas
Administracin de memoria
Modelo de multiprogramacin.
Desde un punto de vista
probabilstico, sea p la fraccin de
tiempo en que un proceso espera por
I/O.
La probabilidad de que n procesos
esperen simultneamente por I/O
es: pn
La utilizacin de CPU es por lo tanto:
1-pn
Administracin de memoria
Multiprogramacin con
particiones variables.
La memoria se divide en bloques
de diferente tamao de acuerdo
a las necesidades del proceso.
Administracin de memoria
Ventajas
La gran ventaja de este mtodo es su
flexibilidad, pues permite definir bloques
del tamao requerido, terminando as
con la fragmentacin interna y
permitiendo hacer un mejor uso de la
memoria y por ende del procesador.
Administracin de memoria
Desventajas.
Fragmentacin externa.
Como la memoria se dividi en bloques de
tamao diferente, puede ocurrir que el bloque
ms grande no pueda contener un programa
dado, a pesar que la suma de los espacios
libres sea mayor que el tamao del programa.
Cuando se libera una particin y sta no se
puede ocupar. Se originan huecos de
memoria.
Administracin de memoria
Estrategias para el llenado de los espacios de memoria:
Primer Ajuste (first fit): Se asigna el primer hueco que
sea mayor al tamao deseado.
Mejor Ajuste (best fit): Se asigna el hueco cuyo tamao
exceda en la menor cantidad al tamao deseado. Requiere
de una bsqueda exhaustiva.
Peor Ajuste (worst fit): Se asigna el hueco cuyo tamao
exceda en la mayor cantidad al tamao deseado. Requiere
tambin de una bsqueda exhaustiva.
El Siguiente Ajuste: Es igual que el primer ajuste con la
diferencia que se deja un apuntador al lugar en donde se
asign el ltimo hueco para realizar la siguiente bsqueda a
partir de l.
Ajuste Rpido: Se mantienen listas ligadas separadas de
acuerdo a los tamaos de los huecos, para as buscarle a
los procesos un hueco ms rpido en la cola
correspondiente.
Administracin de memoria
Tcnicas de Administracin de Memoria
Administracin de memoria
Memoria Virtual
Problema:
Kernel
Ejecutar un programa
que necesita ms
memoria que la que hay 400Kb
disponible.
200Kb
?
1000Kb 600Kb
Memoria Real
Administracin de memoria
Memoria Virtual
Solucin:
200Kb
+ 400Kb
?
1000Kb 600Kb
Memoria Real
Administracin de memoria
Memoria Virtual
Estadsticamente, se ha demostrado:
Resumiendo
Memoria Fsica
MMU
Memoria Virtual
Administracin de memoria
Memoria Virtual
Implementacin
Memoria Virtual
Paginacin Segmentacin
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Implementacin: Paginacin
Pginas Frames
Memoria Fsica
Memoria Virtual
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin Direccin Virtual
b d
# pgina Desplazamiento
Pginas Frames
Direccin Virtual
b d
Tabla de Direcciones
Virtuales (TDV)
Implementacin: Paginacin
Direccin Virtual
b d
Tabla de Direcciones
Virtuales (TDV)
Implementacin: Paginacin
Direccin Virtual
b d
Direccin Virtual
b d
b b + d
A b se le agrega el
Desplazamiento d y se
Obtiene la direccin fsica.
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Fallos de pgina
Sucede cuando se est buscando una pgina
cualquiera y sta no est cargada en memoria
problemas para el administrador de memoria.
tiene que ir a buscar la pgina al disco y cargarla en memoria.
Lo anterior si es que hay espacio
Si no hay espacio, debe escoger una pgina
y enviarla a disco.
En la TDV debe actualizar el registro de sta pgina indicando
que ya no est en RAM.
Y despus cargar la pgina deseada desde el disco hacia la
memoria principal.
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Fallos de pgina
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Fallos de pgina. Algoritmos de reemplazo.
FIFO:
Se escoge la pgina que haya entrado primero y est cargada
en RAM.
No es eficiente porque no aprovecha ninguna
caracterstica de ningn sistema.
Es justa e imparcial.
La no usada recientemente:
Se escoge la pgina que no haya sido usada (referenciada) en
el ciclo anterior.
Pretende aprovechar el hecho de la localidad en el conjunto de
trabajo.
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Fallos de pgina. Algoritmos de reemplazo.
La usada menos recientemente:
Escoge la pgina que se us hace ms tiempo
Nota: como ya tiene mucho sin usarse es muy probable que
siga sin usarse en los prximos ciclos.
La no usada frecuentemente:
Escoge cualquier pgina que se use muy poco, menos veces
que alguna otra.
Toma en cuenta la cantidad de referencias que tiene una
pgina.
Administracin de memoria
Memoria Virtual
Implementacin: Paginacin
Fallos de pgina. Algoritmos de reemplazo.
La no usada frecuentemente:
Escoge cualquier pgina que se use muy poco, menos veces
que alguna otra.
Toma en cuenta la cantidad de referencias que tiene una
pgina.
Cdigo fuente
Direccin Virtual
s d
Administracin de la Memoria
Memoria Virtual
Segmentacin
< limite
limite base +
base + d
Tabla de segmentos. Direccin Fsica.
Administracin de la Memoria
Memoria Virtual
Segmentacin
Texto
Stack
Tabla de
Smbolos
Administracin de la Memoria
Memoria Virtual
Segmentacin
Ventajas
Direccin Virtual
s d
Direccin := (s,d) 2D
Administracin de la Memoria
Memoria Virtual
Paginacin / Segmentacin
Direccin Virtual
s p d
Direccin := (p, s, d)
Administracin de la Memoria
Memoria Virtual
Paginacin / Segmentacin
Direccin Virtual
s p d
Direccin := (s, p, d)
Administracin de la Memoria
Memoria Virtual
Paginacin / Segmentacin
. . .
. . .
Tabla de Proc Tabla de Segmentos Tabla de Pginas
Proceso N Segmento M
Tipos de fallos
Sistemas de Archivos
Administracin de la Memoria
Sistemas de Archivos
Solucin:
Conceptos asociados:
Implantacin de Directorios