Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD IV
INSTITUTO TECNOLGICO
DE MORELIA
ADMINISTRACIN DE
MEMORIA
Departamento de Sistemas y
Computacin
MC B
M.C.
Benito
i S
Snchez
h R
Raya
Disponible en: www.benito.org.mx
sanchezraya@hotmail.com
CONTENIDO
1.
2.
3.
4
4.
5.
6.
7.
8.
1. ADMINISTRACIN DE MEMORIA
1
BSICA
Jerarquas de memoria:
Administrador de memoria:
Mantener
M
t
las
l
reas d
de memoria
i usadas
d y vacas.
Intercambio y paginacin
1.1.
1
1 M
Monoprogramacin
i sin
i
intercambio ni paginacin
En la p
primera variante se usaba en mainframes y
minicomputadoras.
La segunda, en sistemas de bolsillo y sistemas integrados.
La tercera, se empleo en PCs, era tpico de MSDOS. En
ROM esta el BIOS.
BIOS
1.2.
1
2 M
Multiprogramacin
lti
i con particiones
ti i
fijas
Ya existe la multiprogramacin.
Consiste en dividir la memoria en n particiones
(Iguales o desiguales)
10
11
Degree of Programamming
12 Aprovechamiento de la CPU en funcin del nmero de procesos en la memoria.
Ejemplo:
13
1-0.8
1
0 84
1-0.4096
0.5904
59%
Si aumentamos
t
otros
t
16 MB d
de RAM
RAM, Cul
C l
sera el aprovechamiento del CPU?
14
Solucin:
1-0.88
1-0
1
0.167
167
0.833
83%
Solucin:
16
El aprovechamiento
h i t sera
d
dell 93%
Subira en 10%.
1.4
1
4A
Anlisis
li i d
dell desempeo
d
de
d un
sistema multiprogramado
17
18
19
E l 2 min
Emplear
i d
de su ti
tiempo.
El ttrabajo
b j 1h
ha recibido:
ibid 2.9
2 9 min
i
El trabajo 2 ha recibido: 0.9 min.
Con multiprogramacin de tres vas, cada trabajo
recibe: 0.16 minutos de CPU por minuto real.
Aprovechamiento CPU = 48%
48% / 3 = 16% =0.16 min
20
Ejemplo:
21
22
Se carga
g en la p
particin 1,, sumar 100 a sus direcciones
Se carga en la particin 2, sumar 200 a sus direcciones
As sucesivamente
La proteccin
23
De ah el riesgo latente.
24
Al calendarizar un trabajo
25
Base y lmite
El registro base almacenaba la direccin donde iniciaba la
particin en donde se cargo el trabajo.
El registro lmite guardaba la longitud de la particin.
Ejemplo:
26
2. INTERCAMBIO (swapping)
Los p
programas
g
excedentes se mantienen en disco y se
traern en forma dinmica a la memoria para su ejecucin.
Intercambio
Memoria virtual
27
28
29
Compactacin de memoria:
30
Esto complica
p
su control.
Cuando el intercambio crea muchos huecos, se
t t de
trata
d crear un solo
l h
hueco pero d
de mayor
tamao, desplazndolo hacia abajo en la medida
de lo posible.
No es comn (requiere mucho tiempo CPU)
31
2.1.
2
1 Ad
Administracin
i i t i de
d memoria
i con
mapas de bits
32
33
34
2.2.
2
2 Ad
Administracin
i i t i de
d memoria
i con
listas enlazadas
35
Proceso o
Hueco
Proceso o Hueco
P
H
Direccin de inicio
Longitud
Apuntador al siguiente nodo
36
37
38
39
3. MEMORIA VIRTUAL
40
El programa, sus d
datos
t y su pila
il pueden
d ser
mayores que la memoria.
Se carga
g en memoria, lo q
que est en uso en ese
momento, y el resto a disco.
Intercambios constantes de fragmentos entre
memoria y disco.
En multiprogramacin:
41
3.1. Paginacin
42
43
44
S transforma
Se
t
f
a MOV REG,
REG 24576
45
46
Podramos
P
d
ttener 16 pginas
i
Podramos direccionar 4096
bits de cada pgina.
El num de p
pgina
g
se usa como
ndice para consultar la tabla
de pginas.
Si bit presente/ausente es 1:
47
Problemas a resolver:
1.
2
2.
48
1.
49
2.
50
51
PT1 10 bits
PT2 10 bits
Despl 12 bits
(b)
52
Un proceso requiere 12 MB
53
3.
54
A la
l iizquierda
i d ttenemos lla ttabla
bl d
de paginas
i
d
de primer
i
nivel
i l
con 1024 entradas (campo PT1)
La entrada 1:
55
La entrada 1023:
B j este
Bajo
t esquema solo
l se necesitan
it 4 ttablas
bl d
de pginas.
i
1er nivel
2d nivel
2do
i l
56
Una
0 4MB, 4 8 MB, 4MB superiores
57
3.2.2.
3
22 E
Estructura
t
t
d
de una entrada
t d d
de
tabla de pgina.
58
a)
b)
Bit de presente/ausente
c)
No poner en cach
59
Bit de Solicitada
f)
Tres bits,
bits para ver si se puede leer
leer, escribir o ejecutar
ejecutar.
Bit de Modificada
e)
Proteccin
d)
Es su identificador
3.3.
3
3 Bf
Bferes d
de consulta
lt para
traduccin
Sin paginacin:
Con paginacin:
60
61
Colocar un dispositivo
p
hardware en las computadoras
p
Que almacene y traduzca direcciones virtuales a fsicas sin
pasar por la tabla de pginas.
Se llama Buffer de Consulta para Traduccin (TLB) o
memoria asociativa.
Normalmente esta dentro de la MMU y no pasa de 64
entradas.
Ejemplo:
62
63
Funcionamiento:
C
Cuando
d se presenta
t una di
direccin
i virtual
i t l a lla MMU
MMU.
64
65
Se genera un fallo
S
f ll d
de pgina
i
Dejando que el SO resuelva el problema.
Debe hacerse con pocas instrucciones, porque los fallos TLB
ocurren con ms frecuencia que los de pgina.
Se dejan recursos para cach u otros recursos que mejoran el
desempeo.
Ejemplo:
66
Un espacio
U
i d
de di
direcciones
i
d
de 32 bit
bits (232),
) con 4096 (4K)
bytes por pgina.
Requiere ms de un milln (1048576) de entradas en la
t bl d
tabla
de pginas.
i
Slo sistemas recientes pueden manejar una tabla tan
grande.
Ahora imaginemos una mquina de 64 bits, ocupara una
tabla de 30 millones de Gbytes. No es factible!.
67
Desventajas:
La ttraduccin
L
d
i d
de di
direcciones
i
virtuales
i t l a f
fsicas
i
es
mucho ms difcil.
Cuando el p
proceso n hace referencia a la p
pgina
g
virtual p, el hardware no podr utilizar p como
ndice para consultar la tabla de pginas.
68
69
IImplementar
l
t una TLB en hardware
h d
y por software
ft
analizar
li
los fallos de pgina.
La bsqueda podra ser a travs de una tabla hash sobre la
di
direccin
i virtual.
it l
Las pginas virtuales en memoria, en cierto momento, con
la misma llave hash estarn enlazadas.
Si la tabla hash tiene tantas ranuras como marcos de
pginas, las cadenas tendran una longitud promedio de
una sola entrada.
70
71
4. ALGORITMOS PARA
4
REEMPLAZO DE PGINAS
72
Cache de memoria
73
Pueden o no modificare
No se modifican
Algoritmos
1.
2
2.
3.
4
4.
5.
6.
7.
8
8.
9.
74
10.
75
De llas pginas
D
i
que estn
t en memoria,
i se reemplaza
l
lla que
ms instrucciones falten para referenciarla.
La idea es aplazar lo ms que se pueda los fallos de
pgina.
i
Es decir, se desaloja la pgina con el rtulo mayor.
76
2. Al
2
Algoritmo
it
de
d reemplazo
l
de
d pginas
i
no usadas recientemente (NRU)
77
78
79
Este algoritmo,
g
, es fcil de entender e
implementar.
80
3. Algoritmo de reemplazo de
3
pginas FIFO
81
4. Algoritmo de reemplazo de
4
pginas de segunda oportunidad
82
Si R
R=0,
0 iindica
di que, aparte
t d
de antigua
ti
no se usa mucho.
h
Por lo tanto es reemplazada de inmediato.
Si R=1, se apaga el bit y la pgina es colocada al final
como si acabara de llegar
llegar. Posteriormente se contina
la bsqueda.
83
84
5. Algoritmo de reemplazo de
5
pginas tipo reloj
85
Si R=0
R 0
Se desaloja
La nueva se inserta en su lugar
La manecilla se incrementa una posicin
Si R=1
Se cambia a 0
La manecilla se adelanta a la siguiente pgina
86
6. Al
6
Algoritmo
it
de
d reemplazo
l
de
d pginas
i
menos usadas recientemente (LRU)
87
R
Requiere
i
mantener
t
una lilista
t enlazada
l
d d
de ttodas
d llas pginas
i
88
LRU EN HARDWARE
Primera
Pi
opcin:
i
89
Segunda opcin:
90
Ejemplo:
91
Haciendo referencia a p
pginas
g
en el orden:
0,1,2,3,2,1,0,3,2,3
7. Al
7
Algoritmo
it
de
d reemplazo
l
de
d pginas
i
no usadas frecuentemente (NFU)
92
Nunca olvida
93
En varias
E
i pasadas
d no ffuncionaran
i
llos contadores,
t d
porque se
quedaran con cuentas acumuladas en las pasadas anteriores.
94
95
96
sta
t ttendr
d n (d
(de acuerdo
d a llos ticks
ti k
de reloj) ceros a la izquierda, por lo que ser
un valor pequeo
pequeo.
Cuando dos pginas tienen el mismo
contador(sobre todo ceros)
ceros), se toma al azar
cualquiera de ellas.
9. Algoritmo de reemplazo de
9
pginas de conjunto de trabajo
97
98
99
100
101
102
Por ejemplo
P
j
l ell conjunto
j t d
de ttrabajo
b j sera
ell conjunto
j t d
de
pginas empleadas durante los ltimos 100 milisegundos
de tiempo de ejecucin, ese sera el valor para k.
Tiempo virtual
Ti
i t l actual.
t l Tiempo
Ti
efectivo
f ti de
d CPU que
ha consumido un proceso desde que inici su
ejecucin.
j
Por lo que se redefine el conjunto de trabajo. Es
el conjunto de pginas a las que ha hecho referencia
durante los ltimos t segundos de tiempo virtual
virtual.
Funcionamiento:
103
Tiempo
p aproximado
p
del ltimo uso de la p
pgina,
g , R,, M,, etc.
El hardware se encarga de encender los bits R y M.
U iinterrupcin
Una
t
i d
de reloj
l j peridica,
idi
causa lla ejecucin
j
i d
de
software que apaga en cada tick de reloj el bit R.
En cada fallo de pgina, la tabla de pginas se explora en
b
busca
d
de una apropiada
i d para d
desalojar.
l j
Al buscarla:
104
S examina
Se
i R
R, sii R
R=1.
1
Se escribe el tiempo virtual en el campo tiempo del
ltimo uso en la tabla de pginas. Para indicar que
l pgina
la
i se estaba
t b usando
d cuando
d ocurri
i ell ffallo.
ll
Como se acaba de solicitar, es obvio que pertenece
al conjunto de trabajo y no es candidata al desalojo.
Si R=0
Indica que no se ha hecho referencia a ella en este tick
y puede ser candidata.
Para verificarlo: Se calcula su edad y se compara con t.
Edad = tiempo virtual actual (proceso) tiempo de ltimo uso (marco)
105
106
Porque
q cada vez q
que hay
y un fallo de p
pgina,
g , se debe
explorar toda la tabla de pginas para encontrar una
candidata.
107
a) y b) cuando R=1
c)) y d) cuando
d R
R=0
0
108
Si R=1
109
Si R=0
110
Si lla edad
d d > t y lla pgina
i
sta
t lilimpia
i ((no modificada)
difi d )
Indica que ya no es del conjunto de trabajo y que no
es necesario respaldarla. La nueva pgina se
colocara
l
en este
t marco (ver
(
incisos
i i
c d).
d)
Si la edad > t y la pgina no esta limpia
No se podra desalojar (a menos que se respalde)
Para evitar una conmutacin de procesos, se
calendariza la escritura en disco, y la manecilla se
adelanta y el algoritmo continua su anlisis.
Podra haber una pgina limpia y vieja!, para usar
de inmediato.
Simplemente
p
seguir
g
dando vueltas,, hasta q
que alguna
g
termine su escritura y quede limpia.
La limpia se desalojar.
111
112
Algoritmo
Funcionamiento
Observaciones
ptimo
NRU
U
Divide
de las
as pg
pginas
as e
en 4 cclases,
ases,
se toma la de la clase menor
Fcil,
c , pe
pero
o bu
burdo
do
FIFO
Segunda
oportunidad
Muy lento
Reloj
Realista
113
Algoritmo
Funcionamiento
Observaciones
LRU
Difcil de
implementar
NFU
No es muy bueno
Envejecimiento
Buen desempeo
Conjunto de trabajo
Desempeo razonable
Implementacin
complicada
10
WSClock
Buen desempeo e
implementacin eficiente
Eficiente y realista
REFERENCIA:
114