1 administración de la memoria. 2 administración de la memoria funciones: - administrar el recurso...
TRANSCRIPT
![Page 1: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/1.jpg)
1
Administración de la memoria
![Page 2: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/2.jpg)
2
Administración de la Memoria
Funciones:
- administrar el recurso memoria realizando la asignación del mismo a los procesos
- proveer mecanismos que eviten la interferencia entre los procesos en el acceso a su espacio de memoria asignado y en su acceso a la memoria ocupada por el Sistema Operativo.
![Page 3: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/3.jpg)
3
Adm. memoria
procesos
S.O. El Sistema Operativo y los procesos comparten la memoria.
Es necesario un mecanismo de protección para evitar accesos de los procesos al área del Sistema Operativo
![Page 4: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/4.jpg)
4
Administraciones de Memoria (tipos)
- Simple contigua
- Particionado fijo
- Particionado variable (con/sin compactación)
- Paginación
- Paginación por demanda (con memoria virtual)
- Segmentación
- Segmentación paginada
![Page 5: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/5.jpg)
5
Simple Contigua
![Page 6: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/6.jpg)
6
Simple contigua
Espacio libre
S.O.
Proc1
![Page 7: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/7.jpg)
7
Simple contigua (cont.)
???
Proc1
S.O.
Proc1
![Page 8: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/8.jpg)
8
Simple contigua (cont.)
desperdicio Proc1
Proc1
S.O.
Proc1
Existe fragmentación externa!!
![Page 9: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/9.jpg)
9
Simple contigua (cont.)
• Administración trivial
• No permite multiprogramación
![Page 10: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/10.jpg)
10
Variantes: Overlay
• Simula más memoria física
Subrutina B
Subrutina A
S.O.
Subrutina C
Subrutina A
Subrutina B
Proceso 1
![Page 11: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/11.jpg)
11
Overlay (cont.)
Sub C
Sub A
S.O.
Sub C
Sub A
Sub B
Proceso 1
![Page 12: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/12.jpg)
12
Variantes: Swapping
• Simula multiprogramación
A
S.O. A
B Proceso B
Proceso A
![Page 13: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/13.jpg)
13
Swapping (cont.)
• Simula multiprogramación
B
S.O. A
B
A
B
![Page 14: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/14.jpg)
14
• Mejora posible:– Particionar la memoria y asignar un proceso
distinto a cada partición .
![Page 15: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/15.jpg)
15
Particionada Fija
![Page 16: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/16.jpg)
16
Particionada fija
Espacio libre
Espacio libre
Espacio libre
S.O.
Proc1
Proc2
![Page 17: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/17.jpg)
17
Particionada fija (cont.)
• Necesita guardar en una tabla de particiones:– Dirección de comienzo de la partición
– Tamaño de la partición
![Page 18: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/18.jpg)
18
Particionada fija (cont.)
![Page 19: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/19.jpg)
19
Particionada fija (cont.)
Proc2
Espacio libre
Proc1
S.O.
Proc1
Proc2
![Page 20: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/20.jpg)
20
Particionada fija (cont.)
Proc2
Espacio libre
Proc1
S.O.
Proc1
Proc2
Proc3
![Page 21: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/21.jpg)
21
Particionada fija (cont.)
???
Proc2
Proc3
Proc1
S.O.
Proc1
Proc2
Proc3
![Page 22: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/22.jpg)
22
Particionada fija (cont.)
desperdicio Proc3
Proc2
Proc3
Proc1
S.O.
Proc1
Proc2
Proc3
![Page 23: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/23.jpg)
23
Particionada fija (cont.)
desperdicio Proc3
Proc2
Proc3
Proc1
S.O.
Fragmentación Interna a la partición
![Page 24: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/24.jpg)
24
Particionada Variable
![Page 25: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/25.jpg)
25
Particionada variable
Proc1
Proc2
Proc3
libre
Proc2
Proc3
Proc1
S.O.
![Page 26: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/26.jpg)
26
Particionada variable (cont.)
Proc2
Proc3libre
Proc2
Proc3
libre
S.O.
![Page 27: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/27.jpg)
27
Particionada variable (cont.)
Proc2
Proc3libre
Proc2
Proc3
libre
S.O.
Proc4
Proc4
![Page 28: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/28.jpg)
28
Particionada variable (cont.)
libre
Proc2
Proc3
libre
S.O.
Proc5
Proc4
???
![Page 29: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/29.jpg)
29
Particionada variable (cont.)
libre
Proc2
Proc3
libre
S.O.
Proc4
Fragmentación Externa
![Page 30: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/30.jpg)
30
Particionada variable (cont.)
• Una posible solución a la fragmentación externa:
– Compactación (Memoria-a-Memoria)
• CUIDADO! Es MUY caro:
– copiar toda la memoria al disco (Memoria-a-Disco-a-Memoria), o
– ejecutar algoritmos complejos (Mem-a-Mem)
![Page 31: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/31.jpg)
31
Particionada variable (cont.)
- En la compactación Memoria-Disco-Memoria la CPU queda libre para ejecutar otros procesos mientras el canal de E/S robando ciclos va extrayendo los procesos de la memoria y depositandolo en el disco para luego reingresarlo al sistema en otra ubicación.
- Cuando la compactación se realiza en Memoria la CPU debe estar dedicada a esta tarea no pudiendo ejecutar otros procesos de usuario!!
![Page 32: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/32.jpg)
32
Particionada Variable (cont.)
• Estrategia de asignación
– Mejor ajuste
– Peor ajuste
– Primer ajuste
![Page 33: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/33.jpg)
33
Estrategia de asignación
Proc4
libre
Proc2
Proc3
libre
S.O.
Mejor ajuste
Peor ajustePrimer ajuste
![Page 34: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/34.jpg)
34
• Mejora posible:– Particionar la memoria para poder asignar una
parte a cada proceso (ya visto)
Y, además,
– Partir los procesos en unidades más pequeñas
![Page 35: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/35.jpg)
35
Paginación
![Page 36: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/36.jpg)
36
Paginación
• Idea: – partir la memoria en bloques (frames)
– partir el proceso en páginas
• Idealmente bloques y páginas son de igual tamaño (lo asumimos para los ejercicios prácticos)
• Todas las páginas del proceso se deben cargar en la memoria
![Page 37: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/37.jpg)
37
Paginación (cont.)
página 2
página 3
página 1
Proc1
página 1
página 2
página 0bloque 1
bloque 2
bloque 0
bloque 4
bloque 5
bloque 3
S.O.
![Page 38: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/38.jpg)
38
S.O.
Paginación (cont.)
página 1
página 2
página 0
Proc1
Proc1 pág. 1
bloque 2
bloque 0
Proc1 pág. 0
bloque 5
Proc1 pág. 2
![Page 39: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/39.jpg)
39
S.O.
Paginación (cont.)
página 1
página 2
página 0
Proc1Proc1 pág. 1
bloque 2
bloque 0
Proc1 pág. 0
bloque 5
Proc1 pág. 2página bloque
0 41 1
2 3
Tabla de Distribución de páginas (TDP)
![Page 40: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/40.jpg)
40
Paginación (cont.)
Tabla de distribución de páginas
![Page 41: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/41.jpg)
41
S.O.
Paginación (cont.)
página 1
página 2
página 0
Proc1Proc1 pág. 1
bloque 2
bloque 0
Proc1 pág. 0
bloque 5
Proc1 pág. 2Hay fragmentación?
![Page 42: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/42.jpg)
42
Paginación (cont.)
• Si el tamaño de las páginas y los bloques son iguales, sólo puede haber fragmentación interna al proceso en el último bloque.
![Page 43: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/43.jpg)
43
Paginación (cont.)
• Direcciones lógicas (virtuales):
10 ...10 011 ...1001
página desplazamiento
El DAT (Direct Address Translator) es el hardware que se encarga de traducir la dirección virtual a dirección en memoria real accediendo a la TDP.
![Page 44: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/44.jpg)
44
Paginación (cont.)
- La capacidad de direccionamiento del sistema estará dada por el tamaño del bus de direcciones
- En estas administraciones es tarea del compilador partir los programas en las paginas que correspondan según el tamaño requerido por la instalación (tamaño del bloque).
![Page 45: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/45.jpg)
45
Paginación (cont.)
![Page 46: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/46.jpg)
46
Paginación (cont.)
Cada acceso a una posición de memoria real implica dos accesos:
- un acceso para ir a la TDP del proceso y ubicar en qué bloque de MR está la página cargada
-un acceso a la dirección de memoria real que se queria acceder
SOLUCIÓN : TLB (ya viene)
![Page 47: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/47.jpg)
47
S.O.
Paginación (cont.)
página 1
página 2
página 0
Proc2
Proc1 pág. 1
Proc2 pág. 2
Proc2 pág. 0
Proc1 pág. 0
Proc2 pág. 1
Proc1 pág. 2
página bloque0 41 1
2 3
página 1
página 2
página 0
Proc1
página bloque0 01 5
2 2
![Page 48: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/48.jpg)
48
S.O.
Paginación (cont.)
Proc1 pág. 1
Proc2 pág. 2
Proc2 pág. 0
Proc1 pág. 0
Proc2 pág. 1
Proc1 pág. 2página 1
página 2
página 0
Proc2
página 1
página 2
página 0
Proc1
bloque página proceso0 0 2
1 1 12 2 23 2 1
4 0 15 1 2
Tabla de Distribución bloques (TDB). Es el mapa de memoria.
![Page 49: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/49.jpg)
49
Paginación (cont.)
• Tabla de páginas (TDP):– 1 por proceso
• Tabla de bloques (TDB):– 1 para todo el sistema
![Page 50: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/50.jpg)
50
Paginación por demanda o Paginación con memoria virtual
![Page 51: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/51.jpg)
51
Paginación por demanda
Idea: no todas las páginas se cargan simultáneamente...
No se necesita que estén todas las páginas del proceso cargadas en la memoria, entonces puedo usar ese espacio para páginas de otro proceso (siempre que pueda traer las páginas que necesito).
![Page 52: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/52.jpg)
52
S.O.
Paginación por demanda (cont.)
página 1
página 2
página 0
Proc1Proc1 pág. 0
bloque 2
bloque 0
bloque 4
bloque 5
bloque 3 Sólo carga la primera página(entry point)
![Page 53: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/53.jpg)
53
página bloque0 41 1
2 3
Recordemos la tabla de páginas (TDP)
Es suficiente esta información?
Paginación por demanda (cont.)
![Page 54: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/54.jpg)
54
Tabla de páginas
El número de página es el índice de la tabla. El disco en el cual se almacenan las páginas del proceso se suele denominar por extensión Disco de Memoria Virtual.
Paginación por demanda (cont.)
![Page 55: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/55.jpg)
55
S.O.
página 1
página 2
página 0
Proc4Proc3 pág. 0
Proc1 pág. 4
Proc 2 pág. 0
Proc3 pág. 2
Proc2 pág. 1
Proc2 pág. 9Tiene que cargar la primera página pero no hay lugar => remoción
Paginación por demanda (cont.)
![Page 56: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/56.jpg)
56
S.O.
Proc3 pág. 0
Proc1 pág. 4
Proc 2 pág. 0
Proc4 pág. 0
Proc2 pág. 1
Proc2 pág. 9
La página removida debe guardarse en memoria virtual sii esa página cambió!
Proc3 pág. 2
Disco
Paginación por demanda (cont.)
![Page 57: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/57.jpg)
57
Cache (TLB)
![Page 58: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/58.jpg)
58
Algoritmos de remoción
- FIFO
- LRU (least recently used - la que hace más tiempo que no se referencia)
- LFU (least frequently used - la utilizada menos veces)
![Page 59: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/59.jpg)
59
Recordemos la tabla de distribución de bloques (TDB)
Es suficiente esta información?
bloque página proceso0 0 2
1 0 32 4 13 9 2
4 2 35 1 2
Paginación por demanda (cont.)
![Page 60: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/60.jpg)
60
Tabla de distribución de bloques
El número de bloque es el índice de la tabla
![Page 61: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/61.jpg)
61
Problemas
• Buffer a caballo: – Un buffer que cruza el límite de una página a
otra– Los canales de E/S usan direcciones físicas
reales!
• Solución:– Se usan varios programas de canal, cada uno
opera sobre los datos de una página.– Las páginas deben estar fijas en memoria!
![Page 62: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/62.jpg)
62
Problemas
• Thrashing– Es el estado en que se encuentra el sistema
cuando el S.O. consume más tiempo en gestionar la memoria (cargar/guardar páginas) que en ejecutar instrucciones de los procesos. Alto overhead dedicado a ejecutar las rutinas de paginación.
– Usualmente provocado por algoritmos malos o una memoria real chica
![Page 63: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/63.jpg)
63
Qué páginas no pueden removerse??
- páginas atadas a E/S (los canales usan direcciones reales y no virtuales - no usan la TDP-)
- páginas en tránsito (están siendo transferidas desde/hacia memoria virtual)
Existe un “bit de protección de bloque” asociado a cada bloque y que el canal debe proveer para poder grabar en un bloque en memoria real
![Page 64: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/64.jpg)
64
Cómo funciona el algoritmo completo de paginación?
![Page 65: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/65.jpg)
65
Ejemplo:- Direccionamiento 14 bits
- Memoria real de 4 K
- Tamaño de página 256 bytes
a) Tamaño máximo de un programa a ejecutar en esta instalación??
R: 64 páginas * 256 bytes = 16 K
b) Un programa genera la dirección virtual X’372A’ cuál será la dirección en memoria real?
R:
C) Si la dirección de b) la genera un programa de 10 K de tamaño que ocurre al ejecutarla?
R: 10 K => 40 páginas de 256 bytes => la página 55 no existe => al ejecutarla el programa será cancelado por direccionamiento fuera del límite
![Page 66: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/66.jpg)
66
Traza
Es la sucesión de páginas referenciadas por los procesos.
Si un proceso ejecuta muchas instrucciones dentro de una página sin referenciar a otra, entonces en la traza solamente habrá una referencia para esa página de ese proceso.
En base a una traza dada se puede determinar si es necesario remover una página, cuál será la página elegida para remoción.
![Page 67: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/67.jpg)
67
Ejemplo de seguimiento de una traza con diferentes algoritmos de remoción.
En todos los ejemplos se supone una capacidad de la memoria real de 4 bloques y en el ultimo renglón se va llevando el control sobre cual es la página candidata a ser removida. En el primer renglón figura la traza analizada que es :
1 – 2 – 3 – 1 – 3 – 1 – 4 – 2 – 1 – 5
LRU : least recently used (la que hace más tiempo que no se referencia)
Mantengo ordenado por el uso en el tiempo. Indice de fracasos 5 / 10.
1 2 3 1 3 1 4 2 1 5 Traza1 2 3 1 3 1 4 2 1 5
1 2 3 1 3 1 4 2 11 2 2 2 3 1 4 2
2 3 3 4 Candidata
X X X X X Fracasos
![Page 68: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/68.jpg)
68
LFU : least frequently used (la que fue menos usada en veces)
Ordeno por cantidad de referencias a la página (si no indica nada la cantidad es 1). A igual cantidad de referencias tomo la página más antigua para salir. Indice de fracasos 5 / 10.
1 2 3 1 3 1 4 2 1 51 2 3 1(2) 3(2) 1(3) 1(3) 1(3) 1(4) 1(4)
1 2 3 1(2) 3(2) 3(2) 2(2) 2(2) 2(2)1 2 2 2 4 3(2) 3(2) 3(2)
2 4 4 5
FIFO : first in first out. Indice de fracasos 5 / 10.
1 2 3 1 3 1 4 2 1 51 2 3 3 3 3 4 4 4 5
1 2 2 2 2 3 3 3 41 1 1 1 2 2 2 3
1 1 1 2
![Page 69: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/69.jpg)
69
Anomalía de BeladySe puede pensar que incrementar la memoria indefinidamente otorgará el mejor índice de hallazgos pero esto no es cierto en los algoritmos de remoción FIFO.
Bellady demostró que incrementarla no sólo no mejora sino que empeora el índice de hallazgos en cierto casos concretos.
![Page 70: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/70.jpg)
70
Ejemplo de seguimiento de una traza que muestra la anomalía de Belady
Traza: 1 – 2 – 3 – 4 - 1 – 2 – 5 – 1 – 2 – 3 – 4 - 5
FIFO con M = 3
1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 1 2 5 5 5 3 4 4
1 2 3 4 1 2 2 2 5 3 3Candidata 1 2 3 4 1 1 1 2 5 5Fracasos X X X X X X X X X
Indice de fracasos = 9 / 12
FIFO con M = 4
1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 4 4 5 1 2 3 4 5
1 2 3 3 3 4 5 1 2 3 41 2 2 2 3 4 5 1 2 3
Candidata 1 1 1 2 3 4 5 1 2Fr. X X X X X X X X X X
Indice de fracasos = 10 / 12
![Page 71: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/71.jpg)
71
Anomalía de Beladycon LRU
LRU con M = 3
T 1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 1 2 5 1 2 3 4 5
1 2 3 4 1 2 5 1 2 3 4Candidata 1 2 3 4 1 2 5 1 2 3Fracasos X X X X X X X X X X
Indice de fracasos = 10 / 12
LRU con M = 4
T 1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 1 2 5 1 2 3 4 5
1 2 3 4 1 2 5 1 2 3 41 2 3 4 1 2 5 1 2 3
Candidata 1 2 3 4 4 4 5 1 2Fr. X X X X X X X X
Indice de fracasos = 8 / 12
![Page 72: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/72.jpg)
72
Anomalía de Beladycon LRU
T 1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 1 2 5 1 2 3 4 5
M=3 1 2 3 4 1 2 5 1 2 3 41 2 3 4 1 2 5 1 2 3
==============================================M=4 1 2 3 4 4 4 5 1 2
Esto se da en todo algoritmo de stack, o sea que cumplen con (*), siendo m = # de frames y r la traza
(*)
),1(),( rmMrmM
![Page 73: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/73.jpg)
73
Predicción de Tasas de Page Fault
LRU con M = 4
T 1 2 3 4 1 2 5 1 2 3 4 51 2 3 4 1 2 5 1 2 3 4 5
1 2 3 4 1 2 5 1 2 3 41 2 3 4 1 2 5 1 2 3
Candidata 1 2 3 4 4 4 5 1 2==================================================
3 3 3 4 5 1 ================================================== Fr. X X X X X X X X==================================================Dist. i i i i 4 4 i 3 3 5 5 5
Fm = Σ Ck + Ci desde k = m+1 hasta n (siendo n la cantidad total de páginas virtuales del proceso)
![Page 74: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/74.jpg)
74
Tamaño de Página
• Sea s el tamaño de un proceso en bytes• Sea p el tamaño de una página en bytes• Sea e el tamaño de cada entrada de la
TDP en bytes• Cantidad de páginas de un proceso es s/p• Tamaño de la TDP = s/p * e = s * e / p• Promedio de fragmentación interna = p/2• Overhead de memoria generado por un
proceso es = s*e/p + p/2
![Page 75: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/75.jpg)
75
Tamaño de Página (cont.)
• Overhead de memoria generado por un proceso es = s*e/p + p/2 = 0 (ideal)
• Optimo, se deriva la anterior con respecto a p
• -s*e / p^2 + ½ = 0 despejando p obtenemos• p = (2*s*e)^ ½ (o sea raiz cuadrada)
• Suponiendo s = 128 KB, e = 8 bytes, se obtiene un tamaño de página de 1448 bytes
• (Actuales aprox. 8KB)
![Page 76: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/76.jpg)
76
Segmentación
![Page 77: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/77.jpg)
77
Segmentación
• Idea: – partir el proceso en unidades lógicas
– usar la memoria necesaria para cada unidad
– cargar los segmentos a medida que se los necesite
![Page 78: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/78.jpg)
78
Segmentación (cont.)
s3
s4
s1
S.O.
s3
s5s4
s2s1
Proc1
libre
libre
![Page 79: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/79.jpg)
79
Segmentación (cont.)
• Direcciones lógicas:
10 ...10 011 ...1001
segmento desplazamiento
![Page 80: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/80.jpg)
80
Segmentación
![Page 81: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/81.jpg)
81
![Page 82: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/82.jpg)
82
Importante: • para poder compartir un segmento entre
distintos procesos, debe ser reentrante (no posee variables propias sino que las referencia siempre en base a un direccionamiento indirecto y su código no se automodifica).
Segmentación
![Page 83: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/83.jpg)
83
Segmentación (cont.)
s3
s4s5
s2
s1
S.O.
s3
s5s4
s2s1
Proc1libre
libre
No hay fragmentación interna.Sí hay fragmentación externa a los procesos.
![Page 84: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/84.jpg)
84
![Page 85: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/85.jpg)
85
Direccionamiento Indirecto de Un Segmento a Otro
![Page 86: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/86.jpg)
86
Segmentación paginada
![Page 87: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/87.jpg)
87
Similar a segmentación, con el agregado que cada segmento es dividido en páginas.
![Page 88: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/88.jpg)
88
Ventajas y desventajas de Segmenta-ción paginada
- Existe fragmentación interna al segmento en la ultima página de cada segmento
- El cálculo de las direcciones es más costoso
- Existe un mejor aprovechamiento del espacio. No es necesario compactar
![Page 89: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/89.jpg)
89
Ejemplos de Sistemas de paginación
![Page 90: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/90.jpg)
90
Paginación de dos niveles
![Page 91: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/91.jpg)
91
Paginación de dos niveles
![Page 92: 1 Administración de la memoria. 2 Administración de la Memoria Funciones: - administrar el recurso memoria realizando la asignación del mismo a los procesos](https://reader031.vdocuments.co/reader031/viewer/2022012922/5665b4551a28abb57c90a098/html5/thumbnails/92.jpg)
92
Paginación de tres niveles - Linux