You are on page 1of 11

ADMINISTRACION DE MEMORIA

Es bien sabido que tanto el Procesador como los dispositivos de E/S interactan con la
Memoria. As tambin un programa debe estar en Memoria para poder ser ejecutado ya que
el procesador levanta de all las instrucciones que debe ejecutar.
Ahora bien si se quiere compartir la memoria entre varios programas, por ejemplo en un
entorno de multiprogramacin, y permitir adems el correcto funcionamiento de los canales
de E/S se hace necesario administrar las memorias entre tales programas
De esto ltimo se deduce que el Administrador de Memoria es activado toda vez que se
carga un trabajo. Luego veremos que no solo se activa al cargar un trabajo sino que tambin
tiene otras funciones.
Los mtodos de administracin de memoria han ido evolucionando, lgicamente desde el
ms sencillo creciendo en complejidad; seguiremos pues ese orden. Para todos los casos
estudiados, salvo que se indique lo contrario, se supondrn memorias de direccionamiento
continuo.
Administracin de Memoria simple contigua
En este sistema de administracin la memoria aparece al programa como una nica
extensin contigua de direcciones, compartida solo por l y por el sistema operativo. Se
hace necesario lograr en este tipo de administracin algn mecanismo de proteccin para el
sistema operativo que es residente.
Existen dos alternativas:
1) la utilizacin de un lmite dado por un registro fijo por hardware o registro de proteccin
cargado por el sistema operativo que sirve como punto de comienzo de carga del programa
como en el Fortran Monitoring System IBM 3094 o como lmite como en el caso de la H.P.
2116B que carga desde memoria baja. Su desventaja es que requiere la recopilacin de los
programas al modificarse el valor de tal registro.
2) otra opcin consiste en un registro Lmite o registro Base (o de Reubicacin) (tal el caso
de la CDC 6000).
Mediante alguno de estos dos sistemas el sistema operativo intercepta aquellas direcciones
invlidas generndose entonces una interrupcin por error de direccionamiento por
interrupcin de direccionamiento.
Por tanto esta administracin requiere desde el punto de vista del hardware los elementos
para proteger al sistema operativo, y desde el punto de vista del software las facilidades al
programa (E/S) y la rutina de atencin de interrupciones por invasin al sistema operativo.
Desventajas
El desperdicio de recursos tanto de la memoria no utilizada, como tambin el desperdicio
respecto de los perifricos no usados durante la ejecucin del programa.
- la imposibilidad de ejecutar programas que requieran el uso de ms memoria que la
disponible, por ms que el sistemas contenga la capacidad de direccionamiento mayor
Administracin de memoria particionada fija
En este esquema se establecen particiones fijas de la memoria de una sola vez y para
siempre (por hardware o por sistema operativo), o en caso contrario de esas particiones son
cambiables en tamao mientras no haya trabajos ejecutando en tamao mientras no haya
trabajos ejecutndose (normalmente esta tarea la realizar el operador desde consola). La
proteccin aqu se logra mediante un registro Base (tambin de reubicacin) y un registro
Lmite o Longitud asociados a cada uno de los trabajos que se estn ejecutando.

En este mtodo aparece una fragmentacin de la memoria debido a que parte de la particin
no es utilizada por el programa. Los mecanismos de proteccin y reubicacin mediante los
registros Base y Longitud son mecanismos hardware que surgen en este mtodo de
administracin. Se agregan las interrupciones por direccionamiento (intento de acceder
fuera de la particin). En cuanto a software tenemos las rutinas de atencin de
interrupciones, las rutinas que se encargan de manejar las tablas de dicha administracin,
rutinas para asignacin de archivos y dispositivos y los programas de canal.
Administracin particionada variable sin compactacin.
En este esquema las particiones se establecen segn la longitud de los programas iniciales.
Al cabo de un tiempo se produce mucha fragmentacin, por tanto existen diversas polticas
para asignar una particin de memoria libre. En principio sea cual fuere el mecanismo de
asignacin de una particin libre se hace necesario contar con la informacin de cules son
esas particiones libres de memoria lo cual nos lleva a la aparicin en este tipo de
administracin de una lista de zonas disponibles.
1) La primera zona libre: aqu se recorre la tabla de espacios libres y la primera
particin que se encuentre en donde quepa el programa es asignada.
2) La mejor zona: se recorre la tabla buscando aquella particin que mejor se ajuste al
programa que se desea ingresar.
El hardware necesitado en esta administracin coincide con el de particionada fija, en tanto
que desde el punto de vista del software nuevo se agregan aqu las nuevas rutinas de
manejo de las tablas de zonas libres para el mecanismo de asignacin.

Administracin de memoria paginada.
Uno de los cuales contendr una Pgina de programa. Las pginas de los programas estarn
ubicadas en los bloques de memoria los cuales no tienen por qu ser contiguos. (Ntese esta
fundamental diferencia frente a las otras Administraciones de Memoria). Al ser cargado en
proceso a memoria se crea una Tabla de Distribucin de Pginas (TDP) que est apuntada
desde el Bloque de Control de Proceso (BCP) y cada una de sus entradas indican en qu
bloque de memoria real se encuentra cargada cada una de las pginas del programa.

ESPACIOS DE DIRECCIONES
Asociacin de direcciones (address binding)
Dependiendo del esquema de administracin de memoria, durante su ejecucin, un
proceso puede ser movido entre disco y memoria.
La mayora de los sistemas permiten que un proceso de usuario resida en cualquier
parte de la memoria fsica.
En la mayora de los casos, un programa pasar por una serie de etapas antes de ser
ejecutado
En cada etapa las direcciones pueden tener distinta representacin.
El binding de instrucciones y datos a direcciones de memoria puede ser hecho en
cualquiera de las etapas:
tiempo de compilacin
tiempo de carga
tiempo de ejecucin
Espacio de direcciones lgicas
Una direccin generada por la CPU es comnmente referenciada como direccin lgica,
mientras que desde el punto de vista de la unidad de memoria la direccin es referenciada
como direccin fsica.
El conjunto de direcciones lgicas generadas por un programa es referenciado como
espacio de direcciones lgicas. El conjunto de direcciones fsicas correspondiente a
cada direccin lgica es referenciado como espacio de direcciones fsicas.
El mapping de direcciones virtuales a fsicas est a cargo de la Unidad de
Administracin de Memoria (disp. de hardware).
Asignacin con particin nica
La memoria se divide en una parte para el S.O., otra para los programas de usuario y otra
no utilizada.
Se debe proteger el cdigo y los datos del S.O. de cambios (intencionados o accidentales)
ocasionados por los procesos de usuarios
Asignacin con particiones variables
La memoria se divide en un nmero de particiones fijas donde cada una puede contener
un proceso.
El S.O. mantiene una tabla indicando que partes de memoria estn disponibles y cuales
estn ocupadas.
Cuando arriba un proceso, se busca una cavidad suficientemente grande para ese proceso
Si se encuentra una, se asigna la memoria requerida, manteniendo el resto disponible para
satisfacer futuros requerimientos.
As, la memoria es asignada a los procesos hasta que el requerimiento del prximo
proceso no pueda ser satisfecho.
En general hay, en cualquier instante, un conjunto de huecos, de varios tamaos, dispersos
en la memoria.
Cuando un proceso termina, libera su bloque de memoria y lo devuelve al conjunto de
huecos.
El problema de satisfacer el requerimiento de memoria con una lista de huecos libres se
conoce asignacin dinmica de almacenamiento.
Las tres estrategias ms comunes son:
First-fit (Primer ajuste)
Best-fit (Mejor ajuste)
Worst-fit (Peor ajuste)
MEMORIA REAL
Capacidad, que representa el volumen global de informacin (en bits) que la
memoria puede almacenar.
Tiempo de acceso, que corresponde al intervalo de tiempo entre la solicitud de
lectura/escritura y la disponibilidad de los datos.
Tiempo de ciclo, que representa el intervalo de tiempo mnimo entre dos
accesos sucesivos.
Rendimiento, que define el volumen de informacin intercambiado por unidad
de tiempo, expresado en bits por segundo.
No volatilidad, que caracteriza la capacidad de una memoria para almacenar
datos cuando no recibe ms electricidad.
Existen dos tipos de memorias RAM: SRAM Y DRAM.

La memoria real o principal es en donde son ejecutados los programas y procesos de
una computadora y es
el espacio real que existe en memoria para que se ejecuten los procesos. Por lo
general esta memoria es de
mayor costo que la memoria secundaria, pero el acceso a la informacin contenida
en ella es de ms rpido
acceso. Solo la memoria cache es ms rpida que la principal, pero su costo es a su
vez mayor.
MEMORIA VIRTUAL
Es la posibilidad de ejecutar un programa que no est totalmente en memoria y tiene
sentido pues hay zonas del programa que puede que no sean referenciadas nunca como lo
son:
condiciones de error poco frecuentes
opciones poco usadas
variables sobredimensionadas
En esta los programas pueden ser ms grandes que la memoria fsica y permite que se
utilice el disco como almacn secundario de procesos y as mismo libera al programador de
la preocupacin de que sus programas quepan en memoria. La idea es mantener en
memoria principal slo los fragmentos de cada proceso que se estn utilizando.
El sistema operativo selecciona automticamente qu fragmentos del proceso residen en
memoria principal y si se emplea m.v. con poca memoria fsica se pueden atender grandes
demandas de memoria:
el programador no tiene que preocuparse tanto de la escasez de memoria
eliminamos la necesidad de tcnicas como los recubrimientos (overlays) cuya
responsabilidad recaeen el programador
caben ms procesos simultneamente en la memoria fsica (aumenta la
productividad de la CPU)

ALGORITMOS DE REEMPLAZO
Bsicos
FIFO
OPTIMO
LRU least recently used
Aproximaciones LRU
LRU con bits de referencia adicionales
LRU de segunda oportunidad o del reloj
LRU de segunda oportunidad mejorado
De conteo
LFU less frequently used
MFU most frequently used
Algoritmo FIFO
FIFO
Se sustituye la pgina residente que lleve ms tiempo en memoria
Fcil de implementar (cola FIFO de pginas)
Problema: al no tener en cuenta la historia del uso de una pgina dada, FIFO puede
prescindir de pginas a las que se accede con frecuencia
Padece la anomala de Belady (fenmeno paradjico consistente en que aumenta el
nmero de fallos de pginas cuando se asignan ms pginas reales al proceso)
Propiedad de pila: para cualquier punto en la cadena de referencia, el conjunto de
pginas en N marcos de pgina es un subconjunto del que se formara en N+1
marcos de pgina
Ejemplo: FIFO

Efecto Belady

Algoritmo de reemplazo ptimo
ptimo
Escoger como vctima la pgina que ms tarde en volver a ser accedida
Es el algoritmo que presenta la frecuencia de fallos de pgina ms baja de todos
No implementable (requiere presciencia)
til como referencia de comparacin
Ejemplo: ptimo o mnimo


Algoritmo LRU
LRU: menos recientemente usada
Aproximacin implementable del ptimo
Se asocia a cada pgina el instante en que se us por ltima vez, y en caso de
reemplazo se escoge la pgina que tiene ms tiempo sin usarse
Implementacion:
Contadores (marca de tiempo)
Pila
Requiere hardware adicional y es costoso
Los sistemas reales implementan aproximaciones a la LRU
Ejemplo: LRU

Aproximaciones a la LRU
Aproximacin a LRU
Tanto el reemplazo ptimo como el LRU no padecen la anomala de Belady
Las tcnicas basadas en LRU utilizan un bit de referencia puesto por el hardware
El hardware enciende el bit de referencia de una pgina cada vez que se hace
referencia a ella (lectura o escritura)
Examinando este bit no conoceremos el orden de uso, pero s sabemos cules
pginas se usaron y cuales no
Varios bits de referencia
Algoritmo con bits de referencia adicionales
Es posible obtener informacin de ordenamiento adicional si registramos los bits de
referencia a intervalos adicionales
Por ej.: byte histrico
11000100
01110111
LRU: pgina con el nmero ms bajo
No est garantizada la unicidad de dichos nmeros (en caso de igualdad, se podra
aplicar FIFO)
Si el nmero de bits histricos es cero, es decir, dejamos slo el bit de referencia =>
Algoritmo de segunda oportunidad
Algoritmo 2 oportunidad o del reloj
FIFO teniendo en cuenta el bit de referencia
Si el valor es cero, reemplazamos la pgina, pero si es 1, le damos una segunda
oportunidad, ponemos su bit de referencia a cero y seleccionamos la siguiente
pgina FIFO
Una forma de implementar el algoritmo de segunda oportunidad es con una cola
circular
= FIFO si todos los bits estn encendidos
Algoritmo 2 oportunidad, mejorado
4.3. Algoritmo de segunda oportunidad mejorado
= pero considerando tanto el bit de referencia como el bit de modificacin
Cuatro situaciones: (0,0), (0,1), (1,0), (1,1)
Se reemplaza la primera pgina que encontremos de la clase ms baja
Es posible que se tenga que explorar la cola varias veces entes de encontrar la
pgina a reemplazar
Ej: Macintosh
Algoritmos de conteo: LFU, MFU
Algoritmos de conteo
Contador del nmero de referencias
Algoritmo LFU: menos frecuentemente usadas (cuenta ms baja) son las
reemplazadas
Problema: pginas que se usaron mucho durante la fase inicial del proceso y luego
no se vuelven a usar
Solucin: Desplazar las cuentas un bit a la derecha a intervalos regulares
Problema serio: pginas tradas recientemente, alta probabilidad de salir (cuenta
baja)
Algoritmo MFU: ms frecuentemente usada (cuenta ms alta) es la reemplazada,
para evitar el problema anterior
Problema: se pueden mantener pginas viejas a las que no se accede


GLOSARIO DE TRMINOS
E/S: entrada y salida
Monitoring System: sistema de Monitoreo
TDP: thermal design power representa la mxima cantidad de potencia requerida por
el sistema de refrigeracin de un sistema informtico para disipar el calor.
address binding: vinculante direccin
S.O.: sistema operativo
RAM: Random Access Memory, memoria de acceso aleatoria, es modificable.
DRAM: (Dynamic Random Access Memory) es un tipo de tecnologa de memoria
RAM. La memoria dinmica de acceso aleatorio se usa principalmente en los mdulos
de memoria RAM
FIFO: Primero en entrar, primero en salir
OPTIMO: Que es extraordinariamente bueno o el mejor
PILA: Conjunto de cosas dispuestas unas sobre otras a modo de pilar o columna.
BITS: Bit es el acrnimo Binary digit.
ALGORITMO: Serie de pasos a seguir
MAPPING: Mapeado



REFERENCIAS
http://sopa.dis.ulpgc.es/so/teoria/pdf/so-09-Memoria%20virtual.pdf
file:///C:/Users/Ordo%C3%B1ez/Desktop/so-09-Memoria%20virtual.pdf
http://www3.uji.es/~redondo/so/capitulo4_IS11.pdf
http://www.dirinfo.unsl.edu.ar/sonet/teorias/SO-clase6-pagina.pdf
http://pitagoras.usach.cl/~eflores/lcc/cd_arq/arquitectura/material/administracion-
memoria.pdf

You might also like