Sei sulla pagina 1di 40

ADMINISTRACIN

DE LA MEMORIA

SISTEMAS OPERATIVOS
Multiprogramacin
Multiprogramacin
En un ambiente de multiprogramacin hay varios
procesos compartiendo la memoria. Por lo tanto, la
proteccin se debe intensificar: proteger los espacios de
los procesos entre si, y con respecto a la memoria del
sistema.
Una alternativa fue la divisin de la memoria en
particiones.
Un proceso puede ocupar una particin y cada particin
es ocupada por un y solo un proceso. Cuando se asigna
memoria a un proceso, se asigna la particin. Cuando el
proceso finaliza, se libera la particin.

SISTEMAS OPERATIVOS
Porque es importante?

P1
P2
P3
P6 P4
P5 CPU

P4

Memoria
Real
Es un recurso escaso
Se requiere que el proceso este en memoria real

SISTEMAS OPERATIVOS
Administracin Memoria

Organizacin y administracin de la memoria principal

Memoria Principal = Memoria Real

Memoria = Almacenamiento

Aspectos Importantes:

Jerarqua de la memoria
Organizacin de la memoria
Estrategias de administracin de memoria

SISTEMAS OPERATIVOS
Jerarqua de Memoria
Diversas tecnologas para diversos tipos de memoria
A menor tiempo de accesos mayor costo por bit
A mayor capacidad menor costo por bit
A mayor capacidad, mayor tiempo de accesos.
A medida que se desciende en la jerarqua
Disminuye el costo por bit
Aumento de la capacidad
Aumento del tiempo de acceso
Disminuye la frecuencia de acceso a memoria por parte del
procesador.
SISTEMAS OPERATIVOS
Organizacin de Memoria
La forma de considerar la memoria principal
Multiusuario o un solo usuario

Asignacin de espacio a procesos concurren

Dividir la memoria en fragmentos denominados particiones

Donde colocar cada trabajo:

en forma continua
en forma no continua o salteada

SISTEMAS OPERATIVOS
Asignacin Continua
Cada procesos debe ocupar bloques continuos de localidades de
memoria
64
Mb

Proceso
3 Mb
Proceso 3 Mb

Sistema Operativo
0 Mb
SISTEMAS OPERATIVOS
Asignacin No Continua
El programa es dividido en bloques o segmentos que pueden ser
asignados a localidades no necesariamente continuas.

64
Proceso 1 Mb Mb
Proceso
3 Mb Proceso 1 Mb

Proceso 1 Mb

Sistema Operativo
0 Mb
SISTEMAS OPERATIVOS
Estrategia de Administracin
Determinan el comportamiento de una organizacin de
memoria determinada.

Se divide en:

1. Estrategia de obtencin

2. Estrategia de colocacin

3. Estrategia de reemplazo

SISTEMAS OPERATIVOS
Esquemas de Asignacin
Memoria Real
Asignacin Contigua
Sistemas de un solo proceso
Sistemas de multiprogramacin
Con particiones fijas
Con particiones variables
Asignacin no contigua
Paginada simple
Segmentacin simple
Segmentacin + paginacin

SISTEMAS OPERATIVOS
Monoprogramacin con asignacin
contigua

Controladores
Sistema
Programa dispositivos
operativo
del
Programa
usuario del
Programa usuario
Sistema del
operativo usuario Sistema
operativo

SISTEMAS OPERATIVOS
Multiprogramacin y uso de
memoria
Facilitar la programacin de una aplicacin al dividirla en
dos o mas procesos.
Capacidad de tener al mismo tiempo mas de un procesos en
memoria.
Poder proporcionar un servicio interactivo a varias personas
al mismo tiempo.
Dos tipos:
Multiprogramacin con particiones fijas
Multiprogramacin con particiones variables.

SISTEMAS OPERATIVOS
Divisin de la memoria en
particiones dinmicas
Divisin de la memoria en particiones
dinmicas
Las particiones son variables en numero y longitud.
Cuando se carga un proceso en memoria se le asigna
toda la memoria que necesita, quedando bien delimitado
su espacio de direcciones (no olvidemos que dentro de
ese espacio esta su stack, de crecimiento dinmico).
A continuacin se cargara otro proceso, y as
sucesivamente hasta que no haya mas lugar. Cuando
alguno de estos procesos termina y libera la memoria
utilizada, ese espacio podr ser usado por un proceso
de igual o menor tamao.

SISTEMAS OPERATIVOS
Los requisitos que se deben satisfacer en
la administracin de memoria son:

Reubicacion: permitir que un programa pueda ser "movido", descargado


y cargado dentro de la memoria sin problemas de direccionamiento.
Proteccin: contra interferencias no deseadas por parte de otros
procesos, ni un proceso acceder a partes asignadas al SO.
Posibilidad de Compartir: que los procesos en memoria puedan
compartir, cdigo o datos comunes a ellos, manteniendo la integridad de
la informacin y sin comprometer la proteccin.
Organizacin lgica: permitir el uso de tcnicas que referencien no
direcciones reales, sino una abstraccin mas cercana al usuario, como
pueden ser los mdulos. Por ejemplo, la segmentacin (que veremos
mas adelante).
Organizacin Fsica: Permitir una organizacin como mnimo de dos
niveles (memoria real y memoria secundaria) que permitan la rpida
ejecucin de los procesos por un lado, y el almacenamiento a largo
plazo de programas y datos.

SISTEMAS OPERATIVOS
Divisin de la memoria en
particiones dinmicas
No obstante a medida que se liberan y asignan espacios se puede
dar la siguiente situacin.

Que la memoria quede fragmentada en pequeos huecos que no


sean lo suficientemente grandes como para poder asignarlos a los
procesos listos.
Que la suma de estos fragmentos resulte en un espacio que si
pueda ser utilizado, pero no disponible por no ser contiguo.
A esta situacin se le llama fragmentacin externa. La forma de
solucionarla puede ser la compactacin de la memoria,
desplazando los procesos para que estn contiguos dejando los
espacios libres juntos en un bloque.
Los algoritmos de ubicacin para este sistema son los ya vistos:
First fit, best fit y worst fit, entre los huecos disponibles

SISTEMAS OPERATIVOS
1. Configuracin de un solo usuario

Funcionaba como: Cada programa que se


iba a procesar se cargaba completo en
memoria y se le asignaba tanto espacio
contiguo como necesitase.

SISTEMAS OPERATIVOS
2. Particiones fijas
El primer intento para posibilitar la multiprogramacin fue la
creacin de particiones fijas en la memoria principal.
Despus de la
aceptacin de
Lista de tareas Estado original la tarea
T1 30k Tarea 1(30k)
T2 50k
T3 30k P1 100K
T4 25k

P2 25K Tarea 4(25k)

P3 25K
Tarea 2(50k)
P4 50K

SISTEMAS OPERATIVOS
Divisin de la memoria en
particiones fijas
Divisin de la memoria en particiones fijas
Se divide la memoria en n particiones fijas, normalmente,
desiguales. El grado de multiprogramacin queda definido por la
cantidad de particiones.
Al llegar un proceso se queda en espera hasta que haya una
particin lo suficientemente grande como para contenerlo.
Al ser fijas, un espacio que no se use dentro de la particin se
pierde. A esta situacin se le conoce como fragmentacin interna.
La asignacin de las particiones es un otro problema, pues debe ser
dinmico y definirse en el momento de la carga del proceso en
memoria.
Dado un conjunto de particiones libres, de diferentes tamaos y un
proceso a cargar, se debe definir un mtodo para decidir,
dinmicamente, cual es la particin que se le asignar.

SISTEMAS OPERATIVOS
Particin Fija o Esttica
Particin 4
Divide la memoria en N particiones (100 K)
fijas, de diferentes tamaos fijos. Particin 3
(350 K)
nico proceso por particin con
tamao <= a la particin que la
pueda contener.
Particin 2
Estructura de datos par la gestin de (200 K)
particiones fijas
Estado (libre/asignada) Particin 1
(90 K)
Base de la particin Sistema operativo
Tamao de la particin

SISTEMAS OPERATIVOS
Particiones Fijas
Mltiples colas
o Estticas
de entrada Particin 4
(180 K)
790 K
120 K 180 K Particin 3
(400 K)

390 K
Particin 2
(250 K)
190 K
140 K
Particin 1
(100 K)
70 K 90 K 80 K 40 K
Sistema operativo
(40 K)
0
Registro
SISTEMAS base
OPERATIVOS
Particiones Fijas o
Estticas
Particin 4
(180 K)
790 K
Particin 3
(400 K)

390 K
300 K 150 K 20 K 90 K Particin 2
(250 K)

Selecciona el trabajo mas 140 K


cercano a la cabecera de la cola Particin 1
(100 K)
que cabe en esa particin. 40 K
Sistema operativo
(40 K)
0
SISTEMAS OPERATIVOS
3. Particiones dinmicas

Con las particiones dinmicas, la memoria disponible


an se conserva en bloques contiguos, pero a las
tareas nada ms se les da la memoria que solicitan
cuando se carga para su procesamiento.
Demuestra la prioridad Primero en llegar, primero en
recibir atencin.

SISTEMAS OPERATIVOS
ADMINISTRACION DE LA
MEMORIA
El SO como administrador de memoria

Como administrador de la memoria, un sistema operativo debe


cumplir con las siguientes funciones:
" llevar el control sobre qu partes de la memoria estn en uso y
cules no;
" asignar memoria a procesos cuando lo necesiten y liberarla
cuando estos finalicen;
" administrar el intercambio entre memoria principal y secundaria
durante el swapping.
Cuando debemos evaluar un sistema, con respecto a la memoria,
nos interesa definir:

Que cantidad de memoria necesito?


A que velocidad?
A que costo?

SISTEMAS OPERATIVOS
Particiones Variables o Dinmicas
Las particiones son variables en nmero y longitud.
Inicialmente la memoria slo contiene el sistema operativo.
A cada proceso se le asigna la memoria que necesita
exactamente.

C C C C C

B B B B
E
A A A
D D D

S. O. S.O. S.O. S.O. S.O. S.O. S.O.


SISTEMAS OPERATIVOS
Particiones Variables o
Dinmicas
Compactacin de memoria

S. Oper. S. Oper.

Consume recursos del Proceso A


Proceso A
sistema 80 K 80 K

Debe detenerse para Libre 30K Proceso B


40 K
realizar el proceso Proceso B
Proceso C
40 K
60K
Involucra la reubicacin
Libre 40K
de los programas.
Libre 70K
Proceso C
60K

Sin compactar Compactada


SISTEMAS OPERATIVOS
3. Particiones dinmicas
Sistema Sistema Sistema
operativo 10k operativo 10k operativo 10k
Tarea 5(5k) 15k
Tarea 1(10k) 20k
20k 20k
T1 termina Tarea 2(15k) T5(5k)llega Tarea 2(15k)
Tarea 2(15k)
35k 35k 35k
T4 termina Tarea 3(20k) T6(30k)llega Tarea 3(20k)
Tarea 3(20k)
55k 55k 55k
Tarea 6(30k)

Tarea 4(50k) 85k

105k 105k 105k


Despus de las tareas 5y6
Ubicacin inicial Despus de las tareas 1y4 han fueron aceptados
(a) terminado (c)
(b)
SISTEMAS OPERATIVOS
3. Particiones dinmicas
Sistema Sistema
operativo 10k operativo 10k
Tarea 5(5k) 15k Tarea 5(5k) 15k
20k 20k
T3 termina Tarea 2(15k) T7(10k)llega Tarea 2(15k)
35k 35k
Tarea 7(10k) 45k T8 debe
T8(30k)llega esperar
55k 55k
Tarea 6(30k) Tarea 6(30k)

85k 85k

105k 105k
Despus de la tareas 3 Despus de la tareas 7 fue
que ha terminado aceptado
(d) (d)
SISTEMAS OPERATIVOS
4. Particiones dinmicas relocalizables

Con este esquema de asignacin de memoria,


el administrador de memoria relocaliza los
programas para reunir los bloques vacos y
compactarlos para hacer un bloque de
memoria lo bastante grande para aceptar
algunas de todas las tareas en espera de
entrar.

SISTEMAS OPERATIVOS
4. Particiones dinmicas relocalizables
Sistemas Sistemas Sistemas
operativos 10k operativos 10k operativos 10k
Tarea1(8k) 18k Tarea1(8k) 18k Tarea1(8k) 18k
30k Tarea4(32k) Tarea4(32k)
Tarea4(32k)
50k 50k
62k Tarea2(16k) Tarea2(16k)
66k 66k
92k Tarea5(48k) Tarea5(48k)
Tarea2(16k) 108k
114k 114k
Tarea5(48k)
La tarea 6 Tarea6(84k)
156k puede ser
acomodado

198k
210k 210k 210k
Inicial (a) Despus de la Despus que la tarea
compactacin (b) 6 fue cargado (c)
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
1
a. Por qu se utiliza la multiprogramacin?

Se utiliza la multiprogramacin porque


simultneamente se puede ejecutar dos o
ms programas en una misma computadora

SISTEMAS OPERATIVOS
1
b. De que manera ocurre la fragmentacin interna?
Ocurre del uso parcial de las particiones fijas y la creacin
coincidente de espacios sin utilizar en la particin.
Despus de la
aceptacin de
Lista de tareas Estado original la tarea
T1 30k Tarea 1(30k)
T2 50k
T3 30k P1 100K
T4 25k

P2 25K Tarea 4(25k)

P3 25K
Tarea 2(50k)
P4 50K

SISTEMAS OPERATIVOS
1 c. Cmo ocurre la fragmentacin externa?
Ocurre cuando la asignacin subsecuente de la memoria crea
fragmentos de memoria libre entre bloques de memoria asignada.
Sistema Sistema
operativo 10k operativo 10k
Tarea 5(5k) 15k Tarea 5(5k) 15k
20k 20k
Tarea 2(15k) T7(10k)llega Tarea 2(15k)
35k 35k
Tarea 7(10k) 45k
T8(30k)llega
55k 55k
Tarea 6(30k) Tarea 6(30k)

85k 85k

105k 105k

SISTEMAS OPERATIVOS
d. Por qu se requiere la compactacin?
La compactacin se requiere para recuperar secciones
1 fragmentadas de espacio de memoria.
Sistemas Sistemas
operativos 10k operativos 10k
Tarea1(8k) 18k Tarea1(8k) 18k
30k Tarea4(32k)
Tarea4(32k)
50k
62k Tarea2(16k) 66k
92k Tarea5(48k)
Tarea2(16k) 108k
114k
Tarea5(48k)

156k

210k 210k
SISTEMAS OPERATIVOS
1
e. Con que frecuencia debe ejecutarse la relocalizacin?
La relocalizacin se da con la compactacin por
lo tanto existen tres opciones.

Cundo cierto porcentaje de la memoria queda ocupado


digamos 75%
Compactar la memoria slo cuando hayan tareas en
espera de entrar
Compactar despus de un lapso preestablecido.

El diseador del sistema operativo decide la


mejor eleccin para cualquier sistema.

SISTEMAS OPERATIVOS
2 Describa las desventajas principales de cada uno de
los cuatro esquemas de asignacin de memoria.
Desventajas
Si el programa era demasiado
grande y no caba en el espacio de
Sistemas de memoria disponible, no se poda
un usuario ejecutar.
No apoya a la multiprogramacin.
Si una tarea no ocupa toda la
Particin fija particin, la memoria no utilizada
de la misma permanece ociosa.

SISTEMAS OPERATIVOS
2
Describa las desventajas principales de cada
uno de los cuatro esquemas de asignacin de
memoria.
Desventajas
Particin Sedesperdicia memoria a causa
dinmica de la fragmentacin externa.
La
compactacin es un proceso de
Particin
carga general, por lo que mientras
dinmica
se ejecuta, todo lo dems debe
relocalizable
esperar

SISTEMAS OPERATIVOS
3
Describa las ventajas principales de cada uno
de los cuatro esquemas de asignacin de
memoria.
Ventajas
Su estudio es importante porque
Sistemas de introdujo conceptos fundamentales
un usuario que ayudaron a la evolucin de la
administracin de la memoria.
Posibilita la multiprogramacin con
la creacin de particiones fijas.
Particin fija
Proteccin del espacio de memoria
para la tarea.

SISTEMAS OPERATIVOS
Describa las ventajas principales de cada uno de los
3
cuatro esquemas de asignacin de memoria.

Ventajas

Particin Utiliza
toda la memoria principal al
dinmica cargar las primeras tareas.
Particin Se utiliza toda la memoria
dinmica
relocalizable

SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS

Potrebbero piacerti anche