Está en la página 1de 43

ADMINISTRACIN DE

MEMORIA

INDICE

Introduccin
Particin de memoria
Memoria virtual con paginacin
Memoria virtual con segmentacin
Gestin de la memoria en Linux
Gestin de la memoria en Windows 2000

INTRODUCCIN
SO multiplexa recursos entre procesos:
Gestin de procesos: Reparto de procesador
Gestin de memoria: Reparto de memoria

En un sistema monoprogramado la memoria se


divide en dos partes: una parte para el sistema
operativo y otra para el programa en
ejecucin.
En un sistema multiprogramado: la parte del
usuario se debe subdividir para acomodar
mltiples procesos.
El sistema operativo es el encargado de realizar
esta subdivisin y a esta tarea se le denomina
gestin de memoria

INTRODUCCIN

SISTEMA MULTIPROGRAMACIN
Requisitos sistema de gestin de memoria
debe satisfacer:

Reubicacin
Proteccin
Comparticin
Organizacin lgica
Organizacin fsica

COMO TRABAJA LA MEMORIA


Contigua

Particin

Fija
o esttica

Fragmentacin externa
Fragmentacin interna

Dinmica
Asignacin
No contigua

Paginacin

Memoria virtual

Segmentacin

Algoritmos de primer ajuste, mejor ajuste y


peor ajuste

ASIGNACIONES

Contigua
No contigua

Contigua: En laasignacin contiguacada


proceso ocupa un bloque contiguo y sencillo
de localizaciones de almacenamiento.
0K
SO

PROCESO DE
USUARIO
512 K

Asignacin contiguade almacenamiento de un solo usuario

ASIGNACIONES

Contigua
No contigua

No
contigua:
En
laasignacin
no
contiguaun programa se divide en varios
bloques
osegmentosque
pueden
almacenarse en direcciones que no tienen
que ser necesariamente adyacentes, por lo
que es mas compleja pero mas eficiente que
la asignacin

TIPOS DE ALMACENAMIENTO
Almacenamiento
primario

Almacenamiento secundario

Una computadora tiene dispositivos de almacenamiento


primarios
(o
principales)
y
secundarios
(o
auxiliares). Cuando se hace esta distincin, el dispositivo
de almacenamiento primario es lamemoria de
acceso aleatorioRAM de la computadora, un dispositivo
de
almacenamiento
permanente
pero
cuyo
contenido
es
temporal.
El
almacenamiento
secundario
incluye
los
dispositivos
de
almacenamiento ms permanentes, como unidades
de disco y de cinta.

TABLA DE DESCRIPCIN DE
PARTICIONES
Sirve para describir cada una de las particiones
de la memoria, los datos de cada particin, la
base, el limite, el tamao y el estado del proceso.
0K

SO
P1
P2
1000 K

P3

N
partici
n

Base de
Tamao
la
de la
particin particin

Estado
de la
particin

0k

100 k

Asignada

100 k

200 k

Libre

300 k

200 k

Asignada

500 k

150 k

Asignada

650 k

350 k

Asignada

PARTICIONES DE LA MEMORIA
Particionamiento Fijo
Particionamiento Dinmico
Descripcin

Ventajas

Desventajas

La M.P. se divide en
particiones estticas. Un
proceso se puede cargar
en una particin con
igual o superior tamao.

Sencilla
de
implementar, poca
sobrecarga para el
SO

Uso ineficiente de
la memoria debido
a la fragmentacin
interna.

Las particiones se crean


de forma dinmica, cada
proceso se carga en una
particin mismo tamao
del proceso.

No
hay
fragmentacin
interna, uso mas
eficiente
de
la
memoria.

Uso ineficiente del


procesador, debido
a la necesidad de
compactacin.

PARTICIONES FIJAS O ESTTICAS


Problemas

- Un programa podra ser demasiado


grande para caber en una particin.
Solucin OVERLAYS.
- La utilizacin de la memoria principal
es extremadamente ineficiente, surge
la fragmentacin interna.
Algoritmo de
ubicacin

SO de los primeros mainframes de


IBM. Ejemplo OS/MFT

PARTICIONES
DINMICAS
Problemas

A medida que pasa


el
tiempo
la
memoria
se
fragmenta ms y la
utilizacin
de la
memoria
se
decrementa.
Fragmentacin
externa. Solucin
Compactacin
SO de los primeros mainframes de
IBM. Ejemplo OS/MVT

PARTICIONES DINMICAS
Algoritmos de
ubicacin:
Primer ajuste
Mejor ajuste
Peor ajuste
(Segn Carretero)

Siguiente ajuste

Ejemplo de un
bloque de 16
Mbytes

ALGORITMOS
Primer ajuste: asigna el primer hueco que
tenga el espacio suficiente.
Mejor ajuste: asigna el hueco mas pequeo que
tenga el tamao suficiente.
Peor ajuste: asigna el hueco mas grande.

ALGORITMOS
0K
100 K

0K

SO

100 K

Por
ejemplo
400
tenemos el K
500
proceso
K
Pi=70Kb,
750 K
ahora
utilizaremo 900
K
s los tres 1000 K
algoritmos. 1100
K

1500
K

SO

400
K

0K

SO

100 K

400
K

500
K

500
K

750 K

750 K

900
K
1000 K

900
K
1000 K

1100
K

1100
K

1500
K

1500
K

1ER AJUSTE

M. AJUSTE

P. AJUSTE

ALGORITMOS
0K
100 K

SO

400
K
500
K
750 K
900
K
1000 K
1100
K

SGTE. AJUSTE
1500
K

egmentacin sencilla Paginacin sencilla

Descripcin

Ventajas

Desventajas

La memoria principal se
divide en marcos del
mismo tamao. Cada
proceso se divide en
paginas del mismo
tamao que los marcos.
Un proceso se carga en
memoria a travs de la
carga de todas sus
paginas en los marcos
disponibles en memoria.

No hay
fragmentacin
externa

Poca
fragmentacin
interna

Cada proceso se divide


en segmentos. Un
proceso carga en
memoria cargando todos
sus segmentos en
particiones dinmicas.

No existe
fragmentacin
interna, mejora la
utilizacin de la
memoria y reduce la
sobrecarga con el
particionamiento
dinmico.

Fragmentacin
externa.

PAGINACIN SENCILLA
Las particiones fijas y dinmicas son ineficientes
en el uso de la memoria, una produce
fragmentacin interna y la otra produce
fragmentacin externa.
Solucin: supongamos que la
memoria
principal se divide en porciones pequeas de
tamao fijo a estas las llamaremos marcos de
pgina, y que cada proceso tambin se divide
en porciones pequeas del mismo tamao fijo,
a estas las llamaremos pginas. Esta solucin se
denomina paginacin sencilla.

PAGINACIN SENCILLA
Veamos el proceso D,
del grfico observamos
que no hay marcos
contiguos suficientes
para ubicar el proceso
Esto evitara que el
sistema
operativo
cargara el proceso D?

PAGINACIN SENCILLA
El SO mantiene una tabla de pginas por
cada proceso. La tabla de pginas muestra la
ubicacin del marco por cada pgina del
proceso.

PAGINACIN SENCILLA
Dentro del programa cada direccin lgica
esta formada por un numero de pagina y un
desplazamiento dentro de la pgina.

N PAGINA
(P)

DESPLAZAMIENTO
(D)

DIRECCION
VIRTUAL V=(P,D)

SEGMENTACIN SENCILLA
Un proceso se divide en segmentos que no
tienen
que
ser
del
mismo
tamao
(particiones dinmicas). Cuando el proceso se
trae a la memoria todos sus segmentos se
cargan en regiones de memoria disponibles
y se crea la tabla de segmentos.

Paginacin con
memoria virtual
Segmentacin con
memoria virtual

Descripcin

Ventajas

Desventajas

Igual a la pag. sencilla.


No es necesario cargar
todas las paginas de un
proceso. Las paginas que
no se usan se traen bajo
demanda
hacia
la
memoria.

No
existe
fragmentacin
externa.
Mayor
multiprogramacin
gran espacio de
direcciones
virtuales.

Existe sobrecarga
por
la
gestin
compleja
de
la
memoria.

Igual a la seg. sencilla.


No es necesario cargar
todos los segmentos de
un
proceso.
Los
segmentos que no se
utilizan se traen bajo
demanda
en
forma
automtica.

No
existe
fragmentacin
interna,
mayor
multiprogramacin,
gran
espacio
de
direcciones virtuales,
soporte a proteccin
y comparticin.

Existe sobrecarga
por
la
gestin
compleja
de
la
memoria.

MEMORIA VIRTUAL
El responsable de traducir las direcciones
virtuales a direcciones reales o fsicas es el
hardware del procesador, concretamente la
Unidad de Manejo de la Memoria (MMU).
Cuando se produce un fallo de pgina se
aborta la ejecucin del programa y se pasa el
control al SO.

MEMORIA VIRTUAL
A la memoria principal donde se ejecutan los
procesos se denomina memoria real.
El usuario percibe una memoria mas grande,
la cual se localiza en el disco y se le denomina
memoria virtual.
El uso de paginacin para conseguir ms
memoria virtual se uso por primera vez en la
computadora ATLAS.

TABLA DE PGINAS EN LA MEMORIA VIRTUAL


El uso de la tabla de pginas es mas compleja
que en la paginacin sencilla, porqu?.
P: bit que indica si pagina se encuentra
presente o no en memoria.
M: bit que indica si el contenido de la pagina se
ha modificado desde la ltima vez que se
cargo en la memoria principal.

TRADUCCIN DE DIRECCIONES EN
PAGINACIN

PROBLEMA EN MEMORIA VIRTUAL


Cuando se trata de un proceso grande que
requiera toda la memoria, recordemos que
este proceso se divide en paginas (muchas
pginas), y solo una tabla de paginas que
tambin debe ocupar un espacio en la
memoria principal.
Para resolver este problema se almacena la
de tabla de paginas en la memoria virtual.
SSOO actuales.
Esto representa que la tabla de pginas
tambin estn sujetas a la paginacin igual
que cualquier otra pgina.

SOLUCIN AL MANEJO DOBLE


Para solucionar el manejo de pginas de los
procesos y la tabla de pginas (paginacin),
hay varias alternativas:
Tabla de pginas de uno o varios niveles
Tabla de pginas invertidas

Linux, Windows

BUFFER DE TRADUCCIN ANTICIPADA


(TLB)
Cuando se hace referencia a la memoria virtual,
esto puede causar dos accesos a la memoria
fsica, un acceso a la entrada de tabla de pginas
y otro acceso para buscar los datos solicitados.
Problema duplica el tiempo de acceso a la
memoria.
Solucin la memoria virtual utiliza una cache
especial de alta velocidad para las entradas a
las tablas de paginas denominada BUFFER DE
TRADUCCION ANTICIPADA.
Esta cache funciona de manera similar a la memoria
cache general, contiene las entradas a la tabla
de paginas usadas mas recientemente.

USO DEL TLB

FALLOS DE PGINAS
Cuando el programa es demasiado grande y usa
la paginacin con memoria virtual, significa que
partes de las tablas de paginas de los
procesos activos deben encontrarse en la
memoria virtual y no en la memoria
principal. Por lo tanto fallo de pagina.
Cuando un pgina hace referencia a un dato
de otra pagina que no se encuentra en
memoria se produce un fallo de pagina

EJEMPLOS DE TAMAOS DE PGINAS

SEGMENTACIN
Divide a la memoria en espacio de
direcciones o segmentos.
Es diferente el tamao de los segmentos, su
tamao es dinmico.
El formato de la direccin esta dado por el
N de segmento mas el desplazamiento

SEGMENTACIN
El N de segmento de la direccin virtual se utiliza para
indexar la tabla de segmentos de dicho proceso y para
buscar la direccin de memoria principal donde comienza
dicho segmento . La direccin de memoria principal es
aadida a la parte de desplazamiento de la direccin virtual
para producir la direccin real solicitada.

COMBINACIN PAGINACIN Y SEGMENTACIN


Aqu el espacio del usuario se divide en numero de
segmentos, cada segmento es dividido en paginas de
tamao fijo que a su vez son del tamao del marco de
pagina de la memoria principal.
La direccin lgica contiene un N segmento y un
desplazamiento dentro de dicho segmento. Desde el punto
de vista del SO el desplazamiento dentro del segmento es
visto como un numero de pagina y un desplazamiento
dentro de la pagina incluida en el segmento.

COMBINACIN PAGINACIN Y SEGMENTACIN


A cada proceso esta asociada una tabla de segmentos y
varias tablas de pginas.

SOFTWARE DEL SISTEMA OPERATIVO


Para disear la parte de gestin de memoria en
un sistema operativo, este diseo depende de
tres opciones:
El SSOO usa o no tcnicas de memoria virtual.
El uso de paginacin o segmentacin o ambas.
Algoritmos usados para los diferentes aspectos de la
gestin de memoria.

Si se eligen cualquiera de las dos primeras, estas


dependen del hardware disponible.
Si elegimos la tercera opcin, al momento del
diseo se tienen en cuenta las siguientes
polticas.

REGLAS DE DISEO GM EN SO

REGLAS DE DISEO GM EN SO
Poltica de recuperacin; bajo demanda se van
trayendo a la memoria las paginas bajo demanda.
Paginacin adelantada, se traen a la memoria las
paginas que anteriormente cuentan una alta rotacin.
Poltica de ubicacin; nos indica en que direccin de la
memoria principal van a residir las porciones de los
procesos. Mejor ajuste, peor ajuste, etc.
Poltica de reemplazo; se aplica cuando ocurre un fallo
de pgina, una pagina hace referencia a un dato de otra
pagina que no se encuentra en memoria, ocurre el Fallo
de pagina, y supongamos que la memoria este llena
Qu hace el SO? Tiene que decidir que pagina va a
reemplazar por la nueva pagina que fue llamada.

REGLAS DE DISEO GM EN SO
Gestin de conjunto residente

También podría gustarte