GESTION DE MEMORIA
GESTION DE MEMORIA
Gestión de Memoria
• Concepto Físico– Memoria Principal
– Memoria Secundaria
• Concepto Lógico– Memoria Real
– Memoria Virtual
Gestión de MemoriaPARTICION FIJA
S.O
512
512
512
512
512
512
512
Igual Tamaño
128
S.O
512
256
512
576
768
1M
Diferente tamaño
Ventaja
• Fácil de implementar
Desventaja
• Fragmentación Interna
Gestión de Memoria
128
S.O
512
256
512
576
768
1M
128
S.O
512
256
512
576
768
1M
PARTICION FIJA - Ubicación
Gestión de Memoria
S.O. S.O.
P1
S.O.
P1
P2
S.O.
P1
P2
P3
PARTICIÒN DINAMICA
Gestión de Memoria
S.O.
P1
P3
PARTICIÒN DINAMICA
S.O.
P1
P3
P4
S.O.
P3
P4
S.O.
P3
P4
P2
Ventaja
No hay Fragmentación Interna
Desventaja
Hay fragmentación Externa
Gestión de Memoria
S.O.
P3
P4
P2
PARTICIÒN DINAMICA – Compactación
S.O.
P3
P4
P2Soluciona el problema de la fragmentación externa, pero es muy costosa en tiempo de procesamiento en la ubicación.
Gestión de Memoria
Ultimo Bloque Asignado
Bloque a Asignar
PrimerAjuste
MejorAjuste
SiguienteAjuste
PARTICIÒN DINAMICA – Ubicación
Gestión de Memoria
P1
P3
P1P2P3P3
M1
M6
M2M3M4M5
Proceso MemoriaPpal
Paginas Marcos
PAGINACION SIMPLE
Ventaja• Fácil ManejoDesventaja• Fragmentación Interna en el Ultimo bloque
Gestión de Memoria
Memoria Virtual– Si toda referencia a memoria
dentro de un proceso, es una dirección lógica que se traduce a física durante la ejecución y
– Un proceso se divide en varias partes ( páginas o Segmentos), y no se encuentran necesariamente contiguas en memoria principal durante la ejecución.
– Entonces no es necesario que las paginas y los segmentos estén en memoria principal en el momento de ejecución.
P1
P6
P2P3P4P5
M1
M6
M2M3M4M5
Direccionamiento Logico Direccionamiento Real
• Conjunto Residente del Proceso
• Fallo de Acceso a Memoria.
Gestión de Memoria VirtualP1P2P3P4P5P6P7
Pn
M1M2
Memoria Virtual
Mapa deMemoria
MemoriaPrincipal
Memoria Secundaria
Fallo de Memoria
Gestión de Memoria VirtualTabla de Paginas
PresenteAusente
Protección Referencia Modificado
•Bit Presente /Ausente: si es = a 1 entonces indica que la página tiene asociado un marco de página; si es = a 0 quiere decir que no tiene asociado un marco de página. •Bits de protección: Puede estar formado por 1 bit o por 3; si es un bit, entonces si el bit esta en 0 indica que tiene privilegios de lectura y escritura; si esta en 0 entonces tiene privilegios de solo lectura. Si esta formado por 3 bits, entonces cada uno de ellos representa los privilegios de lectura, escritura y ejecución; usándose un 1 para habilitarlos y un 0 para deshabilitarlos. •Bit modificado : Si esta en 1 entonces indica que el marco de página asociado a la página ha sido modificado.•Bit de referencia: Si está en 1 indica que página ha sido referenciada.
NumeroMarco
Numero de Pagina Desplazamiento
Tabla de Paginas
Dirección Virtual
Traducción de Direcciones en un Sistema de Paginación
No Pág..Desplazamiento
No Marco
Puntero a tablaDe Páginas
No MarcoDesplazamiento
Registro
+
Tabla de Páginas
Programa PaginaciónMemoriaPrincipal
Marco dePágina
MemoriaSecundaria
DirecciónLógica
DirecciónReal
Traducción de Direcciones en un Sistema de Paginación con TLB
No Pág..Desplazamiento No Marco
Desplazamiento
Tabla de Páginas
Programa Paginación
Memoria Principal
MemoriaSecundaria
TLB
Gestión de Memoria VirtualPaginación con TLB y Cache
No Pág..Desplazamiento No Marco
Desplazamiento
Tabla de PáginasMemoria Principal
TLBEtiqueta Resto
Cache
Gestión de Memoria VirtualSegmentación
PresenteAusente
Protección Referencia Modificado Longitud
Numero de Segmento Desplazamiento
Tabla de Paginas
Dirección Virtual
Base Segmento
Traducción de Direcciones en un Sistema de Segmentación
No seg..Desplazamiento
Base
Puntero a tablaDe Segmentos
Base + D
Registro
+
Tabla de Segmentos
Programa Segmentación Memoria Principal
Longitud delSegmento
+
Longitud
Traducción de Direcciones en un Sistema de Segmentación y Paginación
No Pág..Desplazamiento
Puntero a tablaDe Segmentos
Registro
+
Programa Segmentación Memoria Principal
+
No seg.
No Pág..Desplazamiento
Paginación
• Políticas de Lectura– Por demanda
– Paginación previa
• Políticas de Ubicación
• Políticas de reemplazo– Algoritmos básicos
• Optimo
• Usada hace mas tiempo( LRU)
• FIFO
• Reloj
– Memoria Intermedia
• Gestión del conjunto residente– Tamaño
• Fijo• Variable
– Alcance del reemplazo• Global • Local
• Políticas de Vaciado– Por demanda– Vaciado Previo
• Control de carga– Grado Multiprogramación
Gestión de Memoria VirtualSoftware
Gestión de Memoria VirtualAlgoritmos de Reemplazo
7 7
0
7
0
1
2
0
1
2
3
1
4
3
0
0
2
3
0
1
3
7
1
2
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
0
1
2
4
2
3
4
2
0
2
3
0
7
0
1
7
0
2
2
0
3
2
4
3
2
0
3
2
0
1
7
0
1
7 7
0
7
0
1
2
0
1
7 7
0
7
0
1
2
0
1
2
0
3
4
0
3
0
3
2
1
3
2
1
0
7
FIF
OO
PT
IMO
LR
U 4
0
2
4
3
2
1
0
2
Gestión de Memoria VirtualAlgoritmos de Reemplazo
n 01
2
3
4
56
7
8
P9 P19
P1
P45
P191
P556P13P67
P33
P222
U=1
U=1 U=0U=0
U=1
U=1
U=0U=1
U=0
U=1
n 01
2
3
4
56
7
8
P9 P19
P1
P45
P191
PxxxP13P67
P33
P222
U=1
U=1 U=0U=1
U=0
U=0
U=0U=1
U=0
U=1
DEL RELOJ o SEGUNDA OPORTUNIDAD
Antes del reemplazo de página Después del reemplazo
Gestión de Memoria
• Almacenamiento intermedio de páginas– Lista de Páginas Libres
– Lista de Páginas Modificadas
– Política de reemplazo es FIFO
• Cual debe ser tamaño de la cache ?
Políticas de Reemplazo
Gestión de Memoria
Reemplazo GlobalReemplazo Local
La pagina a reemplazar se elige de entre todos los marcos disponibles en memoria principal.
Esto hace que se cambie el conjunto residente de los procesos.
El número de marcos asociado a un proceso puede cambiar de un momento a otro para mantener su conjunto de trabajo.
La página a reemplazar se elige de entre las paginas asignadas al proceso
Asignación Variable
No es posibleEl número de marcos asignados es fijo.
La página ha reemplazar se elige de entre los marcos asignados al proceso.
Asignación Fija
Tam
año del conjunto residente
Alcance del reemplazo
Gestión de Memoria
• Políticas de Vaciado Cuando se debe escribir a memoria secundaria
una pagina modificada.– Por demanda
• Solo cuando haya sido elegida para reemplazarse
– Previo• Escribe las paginas que han sido marcadas como
modificadas ( lotes )
Gestión de Memoria• Control de Carga
Determina el número de procesos residentes en memoria principal en un momento dado.
Grado de Multiprogramación
Utilización del
procesador
Hiperpaginación( Thrashing )
Soluciones•Algoritmos del conjunto de trabajo o de frecuencia de fallo•Criterio del 50%•Varios: ejemplo especializar el algoritmo del reloj
Gestión de Memoria
• Suspensión de procesos
Para reducir el grado de Multiprogramación.
– Procesos con la prioridad mas baja– Procesos con fallos de página– Ultimo proceso activado– Proceso con el conjunto residente mas pequeño– El proceso mayor– Procesos con la mayor ventana de ejecución restante