510 likes | 1.14k Views
GESTION DE MEMORIA. Concepto Físico Memoria Principal Memoria Secundaria. Concepto Lógico Memoria Real Memoria Virtual. Gestión de Memoria. S.O. S.O. 512. 512. 512. 128. 256. 512. 512. 512. 576. 512. 768. 512. 1M. 512. Diferente tamaño. Igual Tamaño. Gestión de Memoria.
E N D
Concepto Físico Memoria Principal Memoria Secundaria Concepto Lógico Memoria Real Memoria Virtual Gestión de Memoria
S.O S.O 512 512 512 128 256 512 512 512 576 512 768 512 1M 512 Diferente tamaño Igual Tamaño Gestión de Memoria PARTICION FIJA • Ventaja • Fácil de implementar • Desventaja • Fragmentación Interna
S.O S.O 512 512 128 128 256 256 512 512 576 576 768 768 1M 1M Gestión de Memoria PARTICION FIJA - Ubicación
S.O. S.O. S.O. S.O. P1 P1 P1 P2 P2 P3 Gestión de Memoria PARTICIÒN DINAMICA
S.O. S.O. S.O. S.O. P1 P1 P2 P4 P4 P4 P3 P3 P3 P3 Gestión de Memoria PARTICIÒN DINAMICA Ventaja No hay Fragmentación Interna Desventaja Hay fragmentación Externa
S.O. S.O. P2 P2 P4 P3 P4 P3 Gestión de Memoria PARTICIÒN DINAMICA – Compactación Soluciona el problema de la fragmentación externa, pero es muy costosa en tiempo de procesamiento en la ubicación.
Mejor Ajuste Primer Ajuste Siguiente Ajuste Gestión de Memoria PARTICIÒN DINAMICA – Ubicación Bloque a Asignar Ultimo Bloque Asignado
Gestión de Memoria PAGINACION SIMPLE Proceso Paginas Memoria Ppal Marcos P1 M1 P1 M2 • Ventaja • Fácil Manejo • Desventaja • Fragmentación • Interna en el Ultimo • bloque P2 M3 P3 M4 P3 M5 P3 M6
Gestión de Memoria P1 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. M1 P2 M2 P3 M3 P4 M4 P5 M5 P6 M6 Direccionamiento Real Direccionamiento Logico • Conjunto Residente del Proceso • Fallo de Acceso a Memoria.
Gestión de Memoria Virtual P1 M1 P2 M2 P3 P4 P5 P6 P7 Mapa de Memoria Memoria Principal Memoria Secundaria Fallo de Memoria Pn Memoria Virtual
Gestión de Memoria VirtualTabla de Paginas Dirección Virtual Numero de Pagina Desplazamiento Tabla de Paginas Presente Ausente Protección Referencia Modificado Numero Marco • 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.
Traducción de Direcciones en un Sistema de Paginación Dirección Lógica Dirección Real No Marco Desplaza miento No Pág.. Desplaza miento Registro Puntero a tabla De Páginas Marco de Página + No Marco Tabla de Páginas Memoria Secundaria Memoria Principal Programa Paginación
Traducción de Direcciones en un Sistema de Paginación con TLB No Pág.. Desplaza miento No Marco Desplaza miento TLB Memoria Principal Memoria Secundaria Tabla de Páginas Programa Paginación
Gestión de Memoria VirtualPaginación con TLB y Cache No Pág.. Desplaza miento No Marco Desplaza miento Etiqueta Resto TLB Cache Tabla de Páginas Memoria Principal
Gestión de Memoria VirtualSegmentación Dirección Virtual Numero de Segmento Desplazamiento Tabla de Paginas Presente Ausente Protección Referencia Modificado Longitud Base Segmento
Traducción de Direcciones en un Sistema de Segmentación Base + D No seg.. Desplaza miento + Registro Puntero a tabla De Segmentos Longitud del Segmento + Longitud Base Tabla de Segmentos Programa Segmentación Memoria Principal
Traducción de Direcciones en un Sistema de Segmentación y Paginación No seg. No Pág.. Desplaza miento No Pág.. Desplaza miento Registro Puntero a tabla De Segmentos + + Paginación Memoria Principal Segmentación Programa
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
7 3 0 1 0 1 2 0 3 0 4 2 0 3 2 1 2 0 1 7 7 7 7 2 2 2 4 4 4 0 7 7 7 0 0 0 0 0 3 3 3 2 2 2 1 0 0 1 1 1 1 1 0 0 0 3 3 2 2 1 3 2 7 7 7 2 2 2 2 7 2 0 0 0 0 4 0 0 0 1 1 3 3 3 1 1 Gestión de Memoria VirtualAlgoritmos de Reemplazo FIFO OPTIMO 7 7 7 2 2 4 4 4 0 1 1 1 LRU 0 0 0 0 0 0 3 3 3 0 0 1 1 3 3 2 2 2 2 2 7
Gestión de Memoria VirtualAlgoritmos de Reemplazo DEL RELOJ o SEGUNDA OPORTUNIDAD 0 n 0 n 1 P19 1 P9 P19 P9 U=1 P1 U=1 U=1 P1 U=1 U=0 U=0 P45 2 P45 2 U=1 U=0 P191 P222 P191 P222 U=1 U=0 U=0 U=0 8 3 8 P33 P556 3 P33 Pxxx U=1 U=0 P67 P13 U=1 U=1 P67 P13 U=1 U=0 U=1 U=0 7 4 7 4 6 5 6 5 Después del reemplazo Antes del reemplazo de página
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 ? Gestión de Memoria Políticas de Reemplazo
Reemplazo Local Reemplazo Global Asignación Fija El número de marcos asignados es fijo. La página ha reemplazar se elige de entre los marcos asignados al proceso. No es posible Asignación Variable 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 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. Gestión de Memoria Alcance del reemplazo Tamaño del conjunto residente
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. Utilización del procesador Hiperpaginación( Thrashing ) Grado de Multiprogramación • 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