Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Introduccin
Programa necesita estar en memoria para poder
j
(modelo
(
V. Newman))
ser ejecutado
u area
Kernel
process table
main memory
C b
Cabecera
Fichero Ejecutable
Nmero mgico
Contador de programa inicial
....................
Tabla de secciones
1000
Cdigo
Cdigo
Datos con v.i.
Datos sin v.i.
......................
T. Smbolos
Despl.
1000
5000
-----........
Tam.
4000
1000
500
........
8000 1000
5000
Secciones
................
8000
Tabla de smbolos
Reubicacin esttica
Memoria
0
4
8
12
16
20
24
28
32
36
....
Sistema Operativo
Memoria
10000
10004
10008
10012
10016
10020
10024
10028
10032
10036
..........
Reubicacin dinmica
Memoria
Procesador
PC
8
R. Instruccin
LOAD R3, /1500
HW traduccin
10000
1500
11500
10000
10004
10008
10012
10016
10020
10024
10028
10032
10036
..........
Introduccin
Gestores de memoria todo e.d. en MP
Ed. Contgo
MFT / MVT
Contigidad artificial
Paginacin
Segmentacin
Gestores de memoria donde e
e.d.
d > MP
Overlay, carga dinmica, enlace dinmico
Memoria Virtual
Implementacin
Modelo de WS y PFF
Ejemplos Unix/W_NT
OS
OS
OS
OS
process 5
process 5
process 5
process 5
process 9
process 9
process 8
process 2
process 10
process 2
process 2
process 2
Proceso de compactacin
Translacin de direcciones
(Paginacin)
MMU
Implementacin tabla de pginas
(PTBR) en memoria.
Mtodos hbridos
Reduccin de la TP
Direccin lgica de 32 bits (Tamao de pgina
de 4K) :
Nmero de pgina de 20 bits.
Offset de 12 bits.
Jerarquizar la direccin de pgina
Tabla
T bl d
de pginas
i
iinvertida
id
Tabla de pginas en MV
Comparticin de pginas
Segmentacin
per process
region table
Regiones (2/3)
Region
u area
Text
8K
Data 16K
Stack32K
a
Text
4K
Process
Data 8K
B
Kernel
process table
main memory
Stack
32K
e
d
8K
empty
Data 32K
Stack 64K
137K
852K
87K
764K
541K
552K
433K
783K
727K
333K
986K
941K
897K
1096K
Virtual Addresses
.
.
.
.
.
.
.
.
2001K
.
.
.
.
.
.
.
.
3
4
2
3
.
.
.
.
.
.
.
.
Traduccin de direcciones
Espacio de usuario
Comparticin de Segmentos
MFT MVT
MFT,
MVT, Paginacin
Paginacin, Segmentacin
Overlay
Carga dinmica
Enlace dinmico
Memoria Virtual
10
Overlay
Carga dinmica
Una rutina no es cargada hasta que no es
llamada
Rutinas no utilizadas no se cargan
No requiere soporte del S.O.
Enlace dinmico
Concepto similar al de carga dinmica
Se pospone el enlace hasta tiempo de ejecucin
En el programa se almacena la referencia ( stub,
direccin de un programa que localiza la rutina
Carga slo una vez de la rutina
11
Memoria Virtual
Introduccin
Gestores de memoria todo e.d. en MP
Ed. Contgo
MFT / MVT
Contigidad artificial
Paginacin
Segmentacin
Gestores de memoria donde e
e.d.
d > MP
Overlay, carga dinmica, enlace dinmico
Memoria Virtual
Implementacin
Modelo de WS y PFF
Ejemplos Unix/W_NT
12
Ejemplo de clculo de PF
* Tiempo
p de acceso a memoria = 1 microsegundo
g
* 50% del tiempo la pgina que est siendo
reemplazada ha sido modificada y hay que
swapped-out
* Swap Page Time = 10 msec = 10,000 msec
EAT = (1 p) x 1 + p (15000)
1 + 15000P
(in msec)
Movem
4 Suma
4.S
Move
M
(R2) + , - (R3)
5.- Almacenamiento en C
13
Algoritmos de reemplazamiento
Algoritmos de reemplazamiento
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.
14
Polticas de reemplazo
Objetivo: Minimizar la tasa de fallos de pgina.
Cada algoritmo descrito tiene versin local y global:
Local: criterio se aplica a las pginas residentes del proceso
Global: criterio se aplica a todas las pginas residentes
Algoritmos a estudiar
A. FIFO
B. ptimo
C. LRU
D. Reloj (o segunda oportunidad)
E. Buffering de pginas
F. Retencin de pginas en memoria
Anomala de Belady
Algoritmo FIFO
Implementacin: Fcil
Pginas residentes en orden FIFO se expulsa la primera
No requiere hardware especial
En el caso de estrategia local se mantiene una lista de pginas por
cada proceso. En el caso global, basta con una nica lista
Problema:
Una pgina que lleva mucho tiempo residente puede seguir
accedindose frecuentemente.
Su criterio no se basa en el uso de la pgina.
Anomala de Belady: Se pueden encontrar ejemplos en que al
aumentar el nmero de marcos aumenta el nmero de fallos de
pgina
Algoritmo ptimo
15
Criterio:
Si la pgina elegida por FIFO no tiene activo el bit Ref, es la pgina
expulsada
Si lo tiene activo se da 2 oportunidad antes de expulsar: se desactiva el
bit Ref,
Ref se pone pgina al final de FIFO,
FIFO se aplica criterio a la siguiente
pgina
LFU
MFU
Algoritmos combinados (clases de
pginas)
16
Buffering de pginas
Implementacin:
Mantiene una reserva de marcos libres. Cuando se produce un fallo de
pgina, siempre se usa un marco libre (es decir, en verdad no hay
reemplazo)
Cuando el nmero de marcos libres queda por debajo de cierto umbral
se activa un demonio de paginacin, que aplica repetidamente el
algoritmo de reemplazo:
Pginas no modificadas pasan a lista de marcos libres
Pginas modificadas pasan a lista de marcos modificados: cuando
se escriban a disco pasan a lista de libres; suelen escribirse en tandas
(lo que mejora el rendimiento)
Si se referencia una pgina mientras est en estas listas: se recupera
directamente de la lista (no hay E/S), lo que puede mejorar el
comportamiento de algoritmos poco eficientes
17
Hiperpaginacin (thrashing)
Hiperpaginacin (thrashing)
Definicin:Tasa excesiva de fallos de pgina de un proceso o en el sistema,
debido a que el nmero de marcos de pgina asignados es insuficiente para
albergar el conjunto residente
Utilizacin de la UCP
P
grado de multiprogramacin
A.
B.
C.
Localidad
Denning (68)
- Localidad espacial /temporal
- Referencias localizadas
- un programa evoluciona de localidad en localidad
18
Patrn de acceso
Modelo de Working-Set
Proceso:
Si el conjunto de trabajo decrece se liberan marcos.
Si el conjunto de trabajo crece se asignan nuevos marcos.
Si no hay marcos disponibles se suspender algn(os) proceso(s), que se
reactivan cuando haya marcos suficientes
19
Prepaginacin
Tamao de la pgina
fragmentacin
Tamao de la tabla
I/O overhead
localidad
20
Otras consideraciones:
Archivos proyectados en memoria (2/3)
En qu consiste?
Recordemos que en un sistema con MV se hacen corresponder las
entradas
d de
d la
l TP con bloques
bl
d un archivo
de
hi ejecutable.
j
bl
La tcnica de la proyeccin permite usar esta misma idea, pero
con cualquier archivo.
El S.O. permite que un programa solicite la correspondencia de
una zona de su mapa de memoria con los bloques de un archivo
cualquiera (ya sea completo o en parte).
En la solicitud el programa indicar el tipo de acceso que desea
para las pginas asociadas al archivo.
Servicio:
La generalizacin de la tcnica de memoria virtual permite ofrecer
a los usuarios una forma alternativa de acceder a los
archivos.
Memoria virtual
Mapa del proceso dinmico
Bibliotecas dinmicas
Archivos proyectados
Tabla de pginas
...........................
Datos sin valor inicial
1pg.
Archivo
RW A Bloque 0 (arch.)
...........................
ltima pg.
Archivo RW A Bloque N (arch.)
...........................
Archivo
Bloque 0
Bloque 1
10240
Bloque 2
Archivo Proyectado
.............
Bloque N
Pila
21
00000000
Selec tor de
tabla de pginas
Programas
de
usuario
7FFFFFFF
80000000
Modo
usuario
Entrada de la
tabla de pginas
Byte dentro
de la pgina
nico
por
proceso
Direc torio
de
pginas
Memoria
compartida
Modo
usuario
C0000000
Modo
ncleo
Sistema
operativo
nicos
por
sistema
FFFFFFFF
Tablas
de
pginas
Marc os
de pgina
10
Conjuntos
de
trabajo
de los
procesos
5
1
9
2
3
22
ps (process status)
TTY
pts/0
pts/0
pts/0
STAT
R
R
R
START
09:16
09:32
09:27
TIME
0:11
0:05
0:00
COMMAND
tetris
tetris
ps aur
Parmetros de sar
6
free
8964
8964
8964
8964
8964
8968
buff
60140
60140
60140
60140
60140
60140
memory
swap
cache si
so
342748
0
0
342748
0
0
342748
0
0
342748
0
0
342752
0
0
342748
0
0
bi
23
0
0
0
0
0
io
bo
7
14
0
0
2
18
system
in
cs
222 199
283 278
218 212
175 166
182 196
168 175
us
1
0
6
3
0
3
sy
4
7
2
3
7
8
cpu
id
95
93
93
94
93
89
-u
-B
-c
-b
-d
-I
-n
-q
-r
-w
-W
-x PID
23
24