Sunteți pe pagina 1din 5

UNIVERSIDAD ADVENTISTA DE

NICARAGUA
FACULTAD DE CIENCIA Y TECNOLOGÍA
ESCUELA DE ING. DE SISTEMAS

Tema: Administración de memoria

Presentado por: David Enoc Hernández Díaz

Revisado por: Ing. Carlos Lenon Davis

Lunes 10 de agosto de 2015


Administración de memoria
La memoria es un recurso importante que se debe administrar con cuidado.
Corresponde al sistema operativo coordinar el uso de las memorias. La parte
del sistema operativo que administra la jerarquía de memoria se denomina
administrador de memoria. Su trabajo consiste en mantener al tanto de que
partes de la memoria están en uso y cuales no, asignar memoria a los
procesos cuando la necesitan y recuperarla, cuando terminan, y controlar el
intercambio entre la memoria principal y el disco cuando la primera es
demasiado pequeña para contener todos los procesos.

Intercambio
En un sistema por lotes, la organización de la memoria en particiones fijas es
sencilla y efectiva. Cada trabajo se carga en una partición cuando llega al
frente de la cola, y permanece en la memoria hasta terminar. En tanto sea
posible mantener en la memoria suficientes trabajos para mantener ocupada
a la CPU todo el tiempo, no hay por que usar algo más complicado.

En todos los sistemas de tiempo compartido o las computadoras personales


orientadas a gráficos, la situación es diferente. A veces no hay bastante
memoria principal para contener todos los procesos que están activos
actualmente, y los procesos en exceso deben mantenerse en disco y traerse
dinámicamente para que se ejecuten.

Existen dos enfoques de administración de memoria generales, dependiendo


(en parte) del hardware disponible. La estrategia más sencilla, llamada
intercambio, consiste en traer a la memoria cada proceso en su totalidad,
ejecutarlo durante un tiempo, y después colocarlo otra vez en el disco. La
otra estrategia, llamada memoria virtual, permite a los programas ejecutarse
aunque solo estén parcialmente en la memoria principal.

El funcionamiento de un sistema con intercambio se ilustra en la siguiente


imagen.
Administración de memoria con mapas de bits

Cuando la memoria se asigna dinámicamente, el sistema operativo debe


administrarla. En términos generales, hay dos formas de contabilizar la
utilización de memoria: mapas de bits y listas libres.

Con un mapa de bits, la memoria se divide en unidades de asignación, tal vez


solo de unas cuantas palabras o quizá de varios kilobytes. A cada unidad de
asignación corresponde un bit del mapa de bits, que es 0 si la unidad esta
libre y 1 si esta ocupada(o viceversa).
Un mapa de bits ofrece un método sencillo para contabilizar las palabras en
una cantidad fija de memoria, porque el tamaño del mapa de bits depende
solo del tamaño de la memoria y del tamaño de la unidad de asignación. El
problema es que una vez que se ha decidido traer a la memoria un proceso
de K unidades, el administrador de memoria debe buscar en el mapa de bits
una operación lenta (porque la serie puede cruzar fronteras de palabras en el
mapa); este es un argumento en contra de los mapas de bits.

Administración de memoria con listas enlazadas

Otra forma de contabilizar la memoria es mantener una lista enlazada de


segmentos de memoria libres y asignados, donde un segmento es un proceso
o bien un agujero entre dos procesos.

Memoria Virtual
La idea en que se basa la memoria virtual es que el tamaño combinado de
programa, los datos y la pila puede exceder la cantidad de memoria física
disponible para el. El sistema operativo mantiene en la memoria principal las
partes del programa que actualmente se esta usando, y el resto en el disco.

La memoria virtual también puede fusionar en un sistema de


multiprogramación, manteniendo segmentos de muchos programas en la
memoria a la vez. Mientras un programa esta esperando que se traiga a la
memoria una de sus partes, esta esperando E/S y no puede ejecutarse, así
que puede otorgarse la CPU a otro proceso, lo mismo que en cualquier otro
sistema de multiprogramación.

S-ar putea să vă placă și