Академический Документы
Профессиональный Документы
Культура Документы
Gestin de Memoria
adecuado
C a b e c e ra
LO A D R 1, #1000
LO A D R 2, #2000
L O A D R 3 , /1 5 0 0
L O A D R 4 , [R 1 ]
S T O R E R 4 , [R 2 ]
IN C R 1
IN C R 2
D E C R 3
J N Z /1 2
.................
M e m o r ia
0
4
8
12
16
20
24
28
32
36
....
LO AD R 1, #1000
LO AD R 2, #2000
L O A D R 3 , /1 5 0 0
L O A D R 4 , [R 1 ]
S T O R E R 4 , [R 2 ]
IN C R 1
IN C R 2
D EC R 3
J N Z /1 2
.................
S is te m a O p e r a tiv o
Implementacin:
o Hardware
o Software
H W tr a d u c c i n
10000
1500
11 5 0 0
10008
10012
10016
10020
10024
10028
10032
10036
..........
L O A D R 3 , /1 5 0 0
L O A D R 4 , [R 1 ]
S T O R E R 4 , [R 2 ]
IN C R 1
IN C R 2
D EC R 3
J N Z /1 2
.................
M e m o r ia
10000
10004
10008
10012
10016
10020
10024
10028
10032
10036
..........
L O A D R 1 , # 110 0 0
LO AD R 2, #12000
L O A D R 3 , /1 1 5 0 0
L O A D R 4 , [R 1 ]
S T O R E R 4 , [R 2 ]
IN C R 1
IN C R 2
D EC R 3
J N Z /1 0 0 1 2
.................
ejecutando
mismo en estos casos se va haciendo
La funcin
de traduccin
z o n a p r iv . 1 ( P 1 )
z o n a c o m p a r t id a
programa
comparten su
ms compleja.
cdigo
Mecanismo de comunicacin
entre procesos muy rpido
z o n a p r iv a d a 2
z o n a p r iv . 1 ( P 2 )
z o n a c o m p a r t id a
M a p a p ro c e s o 2
z o n a p r iv a d a 1
z o n a p r iv . 2 ( P 2 )
z o n a p r iv . 2 ( P 1 )
z o n a c o m p a r t id a
z o n a p r iv a d a 2
M a p a p ro c e s o 1
M e m o r ia
2000
z o n a c o m p a r tid a
10000
z o n a c o m p a r tid a
110 0 21 0 0 ?
10100
M a p a p ro c e s o 2
1000
z o n a c o m p a r tid a
lgico
fsico
Restos
(huecos)
(fragmentacin)
Tablas requeridas por
memoria
M e m o r ia
inutilizables
gestor
de
Acciones
Aprovechamiento de memoria
ptimo es irrealizable!!!!
Tablas de gestin demasiado
grandes
D ir e c c i n 5 0 d e l p r o c e s o 4
D ir e c c i n 1 0 d e l p r o c e s o 6
D ir e c c i n 9 5 d e l p r o c e s o 7
D ir e c c i n 5 6 d e l p r o c e s o 8
D ir e c c i n 0 d e l p r o c e s o 1 2
D ir e c c i n 5 d e l p r o c e s o 2 0
D ir e c c i n 0 d e l p r o c e s o 1
.........................................
.........................................
N -1
D ir e c c i n 8 8 d e l p r o c e s o 9
D ir e c c i n 5 1 d e l p r o c e s o 4
Overlays
2. Modelo de memoria de un
proceso
Compilacin:
Montaje (o enlace):
M d u lo
fu e n te A
M d u lo
fu e n te B
C o m p ila d o r
M d u lo
o b je t o A
M d u lo
o b je t o B
M o n ta d o r
F ic h e r o
e je c u t a b le
B ib lio te c a s
Tipos:
Estticas: el montaje enlaza los mdulos
objeto del programa y de las
bibliotecas, dando como resultado un
ejecutable autocontenido.
Desventajas:
Ejecutables grandes
Cdigo de funcin de biblioteca repetido
Mltiples copias en memoria del cdigo de
funcin de biblioteca
La actualizacin de biblioteca implicara
volver a montar
M a in
F u n c i n A
F u n c i n B
F u n c i n d e b ib lio t e c a F 1
F u n c i n d e b ib lio te c a F 2
C d ig o
Ventajas:
Desventajas:
Mayor tiempo de ejecucin debido a carga y montaje. Se
trata de un retraso tolerable, ya que se compensan el resto
de las ventajas
Ejecutable no autocontenido
Forma de uso :
1. Enlace dinmico implcito: Se especifica en tiempo de
montaje qu biblioteca usar, pero se pospone su carga
y montaje a tiempo de ejecucin.
2. Uso explcito:
C a b e c e ra
F ic h e r o E je c u ta b le
N m e r o m g ic o
C o n t a d o r d e p r o g r a m a in ic ia l
....................
T a b la d e s e c c io n e s
1000
C d ig o
5000
S e c c io n e s
D a to s c o n v a lo r in ic ia l
. . . . . . . . . . . . . . . .
8000
T a b la d e s m b o lo s
D e s p l.
C d ig o
1000
D a t o s c o n v .i. 5 0 0 0
D a t o s s in v .i. - - -- -..... ... .......... .... ........
Tam .
4000
1000
500
........
T . S m b o lo s
1000
8000
Estticas
Se crean al iniciarse programa
Existen durante toda la ejecucin del proceso
Direccin fija en memoria y en ejecutable
Dinmicas
Se crean al invocar la funcin
Se destruyen al retornar
La direccin se calcula en tiempo de ejecucin
Recursividad: varias instancias de una variable
int x=8;
int y;
f(int t){
int z;
.......
}
main(){
.......
}
/* Parmetro */
/* Variable local */
Fichero ejecutable
Nmero mgico
Contador de programa
inicial
Cabecera
1000
Secciones
Tabla de secciones
Cdigo
5000
8000
Mapa de memoria
0
Cdigo
4000
Datos con valor
inicial
5000
5500
Tabla de smbolos
Pila
Soporte
Cdigo
Fichero
RX
Compartida Fijo
RW
Privada
Fijo
Sin soporte RW
Privada
Fijo
Pilas
Sin soporte RW
Privada
Variable
Heap
Sin soporte RW
Privada
Variable
F. Proyect.
Fichero
M. Comp.
4. Archivos proyectados en
memoria
Servicio:
La generalizacin de la tcnica de memoria virtual permite
ofrecer a los usuarios una forma alternativa de acceder a
los archivos.
...........................
A B lo q u e N ( a r c h .)
...........................
M a p a d e m e m o r ia
C d ig o
D a t o s c o n v a lo r in ic ia l
D a t o s s i n v a l o r in ic ia l
A r c h iv o
B lo q u e 0
B lo q u e 1
10240
A r c h iv o P r o y e c t a d o
B lo q u e 2
.............
P ila
B lo q u e N