Está en la página 1de 34

Administracin de Memoria

SISTEMAS OPERATIVOS
2 /50
INTRODUCCIN
3 /50
Organizacin Fsica de la Memoria
Dispositivos Externos
Teclado
Mouse
Scaner
Hard Disk
Drive
Flash Memory
RAM
Memoria Fsica
Memoria Virtual
Cache
Nivel 1
Nivel 2
Registros de la CPU
Almacenamiento
Temporal o
de acceso aleatorio
Almacenamiento
Permanente
4 /50
Organizacin Fsica de la Memoria
Dispositivos Externos
Teclado
Mouse
Scaner
Hard Disk
Drive
Flash Memory
RAM
Memoria Fsica
Memoria Virtual
Cache
Nivel 1
Nivel 2
Registros de la CPU
Almacenamiento
Temporal o
de acceso aleatorio
Almacenamiento
Permanente
5 /50
Organizacin Lgica de la Memoria
La memoria principal es un
arreglo de palabras o bytes,
cada uno de los cuales
tiene una direccin
(espacio de direcciones).

La interaccin es lograda a
travs de un conjunto de
lecturas y escrituras a
direcciones especificas
realizadas por los
procesos.
direccin
memoria
ubicacin
Procesos y Memoria
Para que un proceso se ejecute se requiere ubicarlo en
memoria principal junto con los datos que direcciona.
Para optimizar el uso del computador se requiere tener
varios procesos en memoria principal. (grado de
multiprogramacin)
Memoria Principal
7 /50
Memoria Virtual
La memoria principal es
pequea como para acomodar
todos programas y datos
permanentemente.
Por lo que es necesario
implementar mecanismos de
memoria virtual.
La memoria virtual es una
tcnica para dar la ilusin de
tener ms memoria que la
memoria principal.

Memoria
Virtual
Memoria
Fsica
Memoria
Principal
Disco Duro
8 /50
ADMINISTRADOR
DE MEMORIA
Tabla de
pginas
Direccin virtual
Direccin fsica
9 /50
Administrador de Memoria
Sistema
Operativo
Memoria
del usuario
Sistema
Operativo
Sistema
Operativo
Sistema monoprogramado
Sistema multiprogramado
Un programa puede o
no ingresar a una nica
particin de memoria
Mltiples programas comparten diversas
particiones de memoria
Particiones de tamao fijo
Particiones de tamao variable
10 /50
Administrador de Memoria
El administrador de memoria tiene como objetivos:
Ubicar, reemplazar, cargar y descargar procesos en
la memoria principal.
Proteger la memoria de acceso indeseados
(accidentales o intencionados).
Permitir la comparticin de zonas de memoria
(indispensable para lograr la cooperacin de
procesos).
11 /50
Requisitos del administrador de memoria
1. Reubicacin. Permitir el recalculo de direcciones de
memoria de un proceso reubicado.

2. Proteccin. Evitar el acceso a posiciones de memoria
sin el permiso expreso. (no direcciones absolutas).

3. Comparticin. Permitir a procesos diferentes acceder a
la misma porcin de memoria.

4. Organizacin Lgica. Permitir que los programas se
escriban como mdulos compilables y ejecutables por
separado.

5. Organizacin Fsica. Permitir el intercambio de datos en
la memoria primaria y secundaria
12 /50
Estrategias
Estn dirigidas a la obtencin del mejor uso del
recurso memoria principal, estas pueden ser:
1. Estrategia de solicitud (bsqueda)
(cuando obtener un fragmento de programa)
Estrategias de bsqueda por demanda.
Estrategias de bsqueda anticipada.
2. Estrategia de ubicacin.
(donde se colocar (cargar) un fragmento de programa nuevo)
3. Estrategia de reposicin.
(qu fragmento de programa descarga, para cargar uno nuevo)
13 /50
Administrador de Memoria
Las tcnicas usadas son las siguientes:
1. Particin Fija
2. Particin Dinmica
3. Paginacin Simple
4. Segmentacin Simple
5. Memoria Virtual Paginada
6. Memoria Virtual Segmentada
14 /50
TECNICAS DE
ADMINISTRACION DE
MEMORIA
PARTICIONAMIENTO
Real Real
Mono
Usuario
Multiprogramacin
Particionamiento
Paginacin
Simple
Segmentaci
n Simple
Paginacin
Virtual
Segmentaci
n Virtual
Fija Dinmica Combinacin Combinacin
Virtual
Multiprogramacin
Real
Multiprogramacin
Reubicacin, Proteccin
15 /50
1. Particin Fija
La memoria principal se divide en un conjunto
de particiones de tamao fijo durante el inicio
del sistema.
Un proceso se puede cargar completamente en
una particin de tamao menor o igual.

Ventajas. Sencilla de implementar. Poca
sobrecarga al SO.
Desventajas. Fragmentacin interna. Nro. fijo de
procesos activos.
PF PD PS SS VP VS
16 /50
1. Estrategias
Solicitud.
Por demanda
Ubicacin.
Particin de igual tamao.
Si el proceso cabe en una particin se puede cargar
Particin de diferente tamao.
Asignar a la particin ms pequea.
Se genera dos tipos de colas: una cola, varias colas
Reemplazo.
Uno de los proceso se saca, segn el planificador.
PF PD PS SS VP VS
17 /50
1. Estrategia de Ubicacin
Sistema
Operativo
512K
512 K
512 K
512 K
512 K
512 K
512 K
Particiones del mismo tamao Particiones de distinto tamao
Sistema
Operativo
512K
256 K
768 K
1280 K
1024 K
Sistema
Operativo
512K
256 K
768 K
1280 K
1024 K
PF PD PS SS VP VS
18 /50
1. Particin Fija
Si un programa no cabe en una particin, el
programador debe disearlo en mdulos cargables.

El uso de la memoria es muy ineficiente, no importa el
tamao del proceso, ocupara toda la particin, se
genera fragmentacin interna.
fragmentacin interna
PF PD PS SS VP VS
19 /50
2. Particin Dinmica
Las particiones se crean dinmicamente por
demanda.
Son variables en tamao y nmero
Cada proceso se carga completamente en una
nica particin del tamao del proceso.

Ventajas. No existe fragmentacin interna.
Desventajas. Fragmentacin externa. Se debe
compactar la memoria. El compactado toma
tiempo.
PF PD PS SS VP VS
2. Particin Dinmica
El uso de la memoria es muy ineficiente, se generan
muchos huecos entre las particiones, cada vez ms
pequeas, se genera la fragmentacin externa.
Cada cierto tiempo se debe compactar los
segmentos libres, para que estn contiguos.
fragmentacin externa
compactacin
PF PD PS SS VP VS
21 /50
2. Estrategias
Solicitud.
Por demanda
Ubicacin.
Primer ajuste. El primer bloque disponible que ubique
(parte del inicio)
Siguiente ajuste. El siguiente bloque disponible que
ubique (parte desde la ubicacin actual)
Mejor ajuste. El bloque disponible que deje el menor
espacio libre (bsqueda exhaustiva)
Reemplazo.
Uno de los proceso se saca, segn el planificador.
PF PD PS SS VP VS
22 /50
2. Estrategias
Primer ajuste. Es bueno, con baja
compactacin. Puebla el inicio de la memoria

Siguiente ajuste. Puebla el final de la memoria,
el siguiente bloque libre siempre est al final de
la memoria.

Mejor ajuste. Tiene peores resultados, dado que
busca la particin que deje el hueco ms
pequeo, la memoria se llena de huecos
pequeos. Se compacta con ms frecuencia
PF PD PS SS VP VS
23 /50
TECNICAS DE
ADMINISTRACION DE
MEMORIA
PAGINACION Y SEGMENTACION SIMPLE
Real Real
Mono
Usuario
Multiprogramacin
Particionamiento
Paginacin
Simple
Segmentaci
n Simple
Paginacin
Virtual
Segmentaci
n Virtual
Fija Dinmica Combinacin Combinacin
Virtual
Multiprogramacin
Real
Multiprogramacin
Reubicacin, Proteccin
24 /50
3. Paginacin Simple
La memoria principal se divide en un conjunto
de marcos de igual tamao.
Cada proceso se divide en una serie de pginas
del tamao de los marcos.
Un proceso se carga en los marcos que
requiera (todas las pginas), no necesariamente
contiguos.

Ventajas. No hay fragmentacin externa
Desventajas. Fragmentacin interna pequea.
PF PD PS SS VP VS
3. Paginacin Simple
El SO mantiene una tabla de paginas para cada proceso,
que contiene la lista de marcos para cada pagina.
Una direccin de memoria es un nmero de pgina (P) y
un desplazamiento dentro de la pgina (W).
p p
p = marcos
PF PD PS SS VP VS
26 /50
3. Estrategias
Solicitud.
Por demanda
Ubicacin.
Se cargan todas las pginas de un proceso en los
marcos libres y se actualiza su tabla de pginas.
Reemplazo.
Una de las pginas se puede sacar y se marca como
que no est cargada. Esto es posible por que cada
proceso tiene su propia tabla de pginas.
No es necesario sacar todas las pginas de un
proceso.
PF PD PS SS VP VS
3. Capacidad de Direccionamiento
2
16
= 65,536 = 64K
2
20
= 1'048,576 = 1MB
2
24
= 16777,216 =16MB
2
32
= 4,294'967,296 = 4GB
PF PD PS SS VP VS
28 /50
4. Segmentacin Simple
Cada proceso y sus datos se dividen en
segmentos de longitud variable.
Un proceso carga sus segmentos en particiones
dinmicas no necesariamente contiguas.
Todos los segmentos de un proceso se deben
de cargar en memoria.
Se diferencia de la particin dinmica en que un
proceso puede ocupar ms de un segmento.
Ventajas. No hay fragmentacin interna.
Desventajas. Fragmentacin externa, pero
menor (compactacin)
PF PD PS SS VP VS
29 /50
4. Segmentacin Simple
El SO mantiene una tabla de segmentos para cada
proceso y la lista de bloques libres.
Una direccin de memoria es un nmero de segmento (S)
y un desplazamiento dentro de segmento (W).
s s
Memoria principal Tabla de Segmentos
Segmentos Desplazamiento
s
s+ w
s
PF PD PS SS VP VS
30 /50
4. Estrategias
Solicitud.
Por demanda
Ubicacin.
Se cargan los segmentos de un proceso en los
bloques libres y se actualiza su tabla de segmentos.
Reemplazo.
Uno de los segmentos se puede sacar y se marca
como que no est cargada. Esto es posible por que
cada proceso tiene su propia tabla de segmentos.
PF PD PS SS VP VS
4. Validacin del Direccionamiento
No hay correspondencia entre direccin lgica y
direccin fsica.
El SO trabaja con direcciones lgicas.
El SO debe asegurar que cada direccin lgica
est dentro del rango de direcciones del proceso
El SO implementa la tabla de segmentos como
un arreglo de registros base limite
PF PD PS SS VP VS
La segmentacin por lo general es invisible al programador.
Es el compilador el que define los segmentos.
PF PD PS SS VP VS
33 /50
CONCLUSIONES
1. El SAM particionado a diferencia de la paginacin o
segmentacin simple, permite que slo un proceso se
cargue en memoria principal.

2. Cuando se trabaja con bloques de tamao fijo se
genera la fragmentacin interna. Si los bloques son de
tamao variable, se genera la fragmentacin externa.

3. El SAM de particiones fijas se parece al SAM de
paginacin simple, diferencindose en que los
primeros requieren que las particiones estn contiguas
34 /50
BIBLIOGRAFIA
1. Sistemas Operativos, 2da Edicin (1997) William
Stallings, Prentice Hall Espaa

2. Sistemas Operativos, conceptos fundamentales , 3ra.
Edicin (1994) A. Silberschatz, J. Peterson, P. Galvin,
Addison-Wesley Publishing Company USA

3. Sistemas Operativos, 2da Edicin (1993), H. M. Deitel,
Addison-Wesley Publishing Company USA