Vous êtes sur la page 1sur 17

La memoria es un recurso importante que se debe

administrar con cuidado.


La parte del sistema operativo que administra la
jerarqua de memoria se denomina administrador de
memoria.
Su trabajo consiste en mantenerse al tanto de qu
partes de la memoria estn en uso y cules 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 pequea
para contener todos los procesos.

Francisco Javier Rufo Mendo

7. GESTIN DE MEMORIA

Francisco Javier Rufo Mendo

Los sistemas de administracin de memoria se


pueden dividir en dos clases, los que trasladan
procesos entre la memoria y el disco durante la
ejecucin (intercambio y paginacin) y los que
no lo hacen.
El intercambio y la paginacin son en buena
medida situaciones causadas por la falta de
suficiente memoria principal para contener todos
los programas a la vez.

7.1. MONOPROGRAMACIN

Francisco Javier Rufo Mendo

El esquema de administracin de memoria ms


sencillo posible es ejecutar slo un programa a
la vez, compartiendo la memoria entre ese
programa y el sistema operativo.
Slo se puede ejecutar un proceso a la vez.

En muchas ocasiones es deseable poder


ejecutar varios procesos a la vez.
Esto implica que cuando un proceso est
bloqueado, otro puede usar la CPU, por lo que
aumenta el aprovechamiento de la misma.
La forma ms simple consiste en dividir la
memoria en n particiones fijas, posiblemente de
distinto tamao.
Al llegar un trabajo, se puede colocar en la cola
de la particin ms pequea que pueda
contenerlo, o tener una nica cola.

Francisco Javier Rufo Mendo

7.2. MULTIPROGRAMACIN CON PARTICIONES FIJAS

Francisco Javier Rufo Mendo

Relocalizacin: La capacidad de cargar y ejecutar programas


en un lugar arbitrario se conoce con el trmino de programa
reubicable y la idea consiste en traducir las direcciones que
conoce el programador por las verdaderas direcciones que el
programa ocupa en la memoria.
Proteccin: Debe evitarse que los procesos accedan al espacio
de memoria de otros procesos. Una solucin consiste en usar
dos registros (base y lmite) que determinan dnde comienza el
espacio de memoria del proceso y hasta dnde llega.

Francisco Javier Rufo Mendo

El principal inconveniente es que se desaprovecha el


espacio no utilizado de cada particin fragmentacin
interna.
Tambin se introducen dos problemas que hay que
resolver:

El nmero y tamao de los procesos de la


memoria vara en el tiempo, por lo que tambin
lo harn las particiones de memoria.
Mejora el uso de la memoria, aunque complica
su control.
Se puede llevar a cabo la unin de todos los
huecos en un nico hueco ms grande
moviendo los procesos al espacio ms bajo
tanto como sea posible dentro del espacio de
direccionamiento compactacin.

Francisco Javier Rufo Mendo

MULTIPROGRAMACIN CON PARTICIONES VARIABLES

Para lograr una asignacin eficaz, es necesario seguir


algn tipo de algoritmo de seleccin de particiones:
Un primer proceso podra consistir en elegir la primera particin
libre que sea de igual o mayor tamao.
Uno mejor seria rastrear toda la memoria, buscar aquella
particin de entre las libres, que al cargar el proceso deje el
menor hueco.
El peor mtodo sera al igual que el caso anterior pero con el
mayor hueco posible.

Mapa de bits: La memoria se divide en unidades de asignacin


de un tamao determinado y a cada unidad se le asigna un bit,
que ser 0 si la unidad est libre y 1 si est ocupada. En general
este mtodo es de bsqueda lenta y no muy utilizado.
Listas: Consiste en conservar en memoria una lista enlazada de
segmentos asignados y libres.

Francisco Javier Rufo Mendo

Las maneras ms extendidas para llevar a cabo el


control del uso de la memoria son:

Cuando un programa era demasiado grande


para coger en memoria, se divida el programa
en fragmentos, denominados superposiciones.
El intercambio de superposiciones se llevaba a
cabo de forma automtica por el SO, pero era el
programador quien debera efectuar la divisin.
La memoria virtual surgi en 1961, y permite
que el programa exceda la cantidad de memoria
fsica disponible.

Francisco Javier Rufo Mendo

7.3. MEMORIA VIRTUAL

La gestin de memoria paginada es una gestin


basada en la asignacin de memoria fsica no
contigua, es decir, que las partes de un proceso
lgico puedan estar situadas en reas no contiguas
de la memoria fsica.
La memoria principal se divide en un conjunto de
marcos de igual tamao. Cada proceso se divide
en una serie de pginas del mismo tamao que los
marcos. Un proceso se carga situando todas sus
pginas en marcos libres pero no necesariamente
contiguos.
Dado que cada pgina se corresponde con su
bloque, el desplazamiento dentro de la pgina ser
el mismo que dentro del bloque.

Francisco Javier Rufo Mendo

PAGINACIN

Francisco Javier Rufo Mendo

El sistema operativo mantiene una tabla de


pginas para cada proceso, la cual muestra la
posicin del marco de cada pgina del proceso.
Dentro del programa, cada direccin lgica constar
de un nmero de pgina y de un desplazamiento
dentro de la pgina.
Cuando se solicita cargar un proceso de tamao t el
SO debe asignar e bloques, donde e se obtiene
dividiendo t entre el tamao de pgina, que viene
definido por el hardware. El SO asigna un nmero
entero de bloques. Si el tamao del proceso no es
mltiplo entero del tamao de pgina se produce
una fragmentacin interna.

Francisco Javier Rufo Mendo

Para evitar tener tablas muy grandes, se dividen en


trozos ms pequeos. Estas tablas constituyen
tablas de segundo nivel, y estarn referenciadas por
una de nivel superior que ser la nica que deber
permanecer en memoria tablas multinivel.
Cuando se recibe una direccin, se extrae la
primera parte que har de ndice en la tabla de
primer
nivel
para
localizar
la
entrada
correspondiente que sealar el marco donde est
almacenada la tabla de segundo nivel. La segunda
parte indicar el ndice en esa tabla de segundo
nivel, donde localiza el marco de la pgina buscada,
el cual junto al desplazamiento conforma la
direccin fsica que se enva a la memoria.

Francisco Javier Rufo Mendo

ALGORITMOS DE REEMPLAZO DE PGINA

Algoritmo de reemplazo de pginas ptimo: Cada


pgina lleva una etiqueta con el nmero de instrucciones
que falta para que sea referenciada. Es imposible de
implementar.
Pgina de uso no reciente (NRU): Pretende sacar de la
memoria a la pgina que hace ms tiempo que no se
referencia.
Algoritmo FIFO: Se hace vctima a la pgina que lleve
ms tiempo en memoria.
Pgina usada hace ms tiempo (LRU): Intenta hacer
vctima a la pgina que hace ms tiempo que no se
referencia.

Francisco Javier Rufo Mendo

El objetivo de los algoritmos es hacer vctima a una


pgina que no se vaya a necesitar en poco tiempo.
Algunos de los algoritmos ms comunes son:

En este caso, cada proceso se divide en una serie de segmentos.


No es necesario que todos los segmentos de todos los programas
tengan la misma longitud, aunque existe una longitud mxima de
segmento. Un proceso se carga situando todos sus segmentos en
particiones dinmicas que no tienen por qu ser contiguas.
Se puede definir un segmento como un agrupamiento lgico de la
informacin. Los segmentos no tienen por qu ser del mismo
tamao, ni contiguos, aunque s la informacin que contienen.
Mientras que la paginacin es transparente al programador, la
segmentacin es generalmente visible y se proporciona como una
comodidad para la organizacin de los programas y datos.
El usuario indicar la direccin lgica mediante dos nmeros, el
nmero del segmento y el nmero del desplazamiento. No existir
fragmentacin interna, pero s se necesita compactacin.

Francisco Javier Rufo Mendo

SEGMENTACIN

Francisco Javier Rufo Mendo

Cuando se quiere cargar un proceso de forma


segmentada, el SO asigna memoria para los segmentos
requeridos. Dichos segmentos podrn ir fsicamente
separados y por ello el sistema tendr que anotar la
base o comienzo de cada segmento, as como su
tamao. El conjunto de estos pares de nmeros (base y
lmite) formar una tabla llamada tabla de segmentos.
Mediante dicha tabla se traducirn los nmeros de
segmento y desplazamiento a una direccin fsica: el
nmero de segmento se utiliza como ndice en la tabla
de donde se obtendrn la base y el lmite del segmento.
Existen sistemas que combinan la paginacin y la
segmentacin. De estas formas de combinacin surgen
la paginacin segmentada y la segmentacin
paginada.

Francisco Javier Rufo Mendo

Vous aimerez peut-être aussi