Sebastián Sánchez Prieto

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

GESTION DE MEMORIA.
III - Gestión de memoria
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
Administración de memoria
Administración de Memoria Virtual
Universidad San Martín de Porres
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Capítulo 8 Memoria virtual.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
Administración Memoria
Teoría de Sistemas Operativos Memoria
III - Gestión de memoria
Planificador de Procesos
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Phone2Wave-Server Manual de Operación.
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
Parte 3. Descripción del código de una función 1.
Algoritmos de Remplazamiento de Paginas
EL OSO APRENDIZ Y SUS AMIGOS
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Introducción a los Sistemas Operativos Memoria Virtual
Ecuaciones Cuadráticas
¡Primero mira fijo a la bruja!
Sebastián Sánchez Prieto
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Teoría de Sistemas Operativos
Administración del Procesador
Estructuras de control
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Gestor de memoria.
Administración de Memoria Memoria Virtual
1 Memoria Virtual Capítulo 8. 2 Estructuras de Hardware y Control Todas las referencias a memoria son direcciones lógicas y son mapeadas a direcciones.
Administración de la memoria
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Antecedentes Memoria virtual – separación de la memoria lógica de la física Sólo parte del programa necesita estar en memoria en un momento dado para.
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Tema VII Memoria Virtual.
Tema 6. Administración de memoria
Memoria virtual.
Gestión de Memoria.
Gestión de Memoria.
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.
Memoria Virtual Msc. Rina Arauz.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
Gestión de Memoria – Parte 2
1 Tema 12: Memoria Virtual Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)
Arquitectura de Computadores
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Sebastián Sánchez Prieto Gestión de Memoria Sebastián Sánchez Prieto

Objetivo Mostrar la evolución de los distintos esquemas de gestión de memoria Máquina desnuda Monitor monolítico o residente Asignación de memoria particionada contigua Asignación de memoria particionada no contigua Memoria virtual  1999-2004 S2P, OGP & IGT

Máquina desnuda Memoria Usuario Es la manera más sencilla de gestionar la memoria: no existe ningún gestor El usuario controla toda la memoria El sistema no porporciona ningún servicio Memoria Usuario  1999-2004 S2P, OGP & IGT

Monitor monolítico o residente Protección: MEMORIA MONITOR Dirección límite CPU Sí Dirección>Límite No Error de direccionamiento  1999-2004 S2P, OGP & IGT

Memoria particionada contigua Se asigna una partición de memoria a cada proceso Protección: registros límite o base-límite Fragmentación externa: compactación MFT MVT Sistema multiprogramado con tamaño y número de particiones fijo Sistema multiprogramado con tamaño y número de particiones variable Fragmentación interna y externa Fragmentación externa Desventaja en la asignación dinámica de memoria Ventaja en la asignación dinámica de memoria Problema: intercambio de trabajos con E/S pendiente Requiere algoritmos de gestión de memoria más complejos  1999-2004 S2P, OGP & IGT

Error de direccionamiento Registros límite No soporta reubicación dinámica MEMORIA Límite inferior Límite inferior CPU Programa X <= >= Sí Sí No No Error de direccionamiento  1999-2004 S2P, OGP & IGT

Registros base-límite Soporta reubicación dinámica MEMORIA Límite Base CPU Sí Programa X < + Límite No Error de direccionamiento  1999-2004 S2P, OGP & IGT

Tabla de descripción de particiones 0K 100K 400K 500K 750K 900K 1000K Sistema operativo Pi Pj Pk Número Base Tamaño Estado de la de la de la de la partición partición partición partición 0K 100K ASIGNADA 100K 300K LIBRE 400K 100K ASIGNADA 500K 250K ASIGNADA 700K 150K ASIGNADA 900K 100K LIBRE 1 2 3 4 5  1999-2004 S2P, OGP & IGT

Memoria particionada no contigua Esquemas ya vistos: Segmentación Paginación Segmentación paginada Paginación segmentada  1999-2004 S2P, OGP & IGT

Memoria virtual: recordatorio Problema: ejecutar programas de tamaño mayor que la memoria física disponible Mayor grado de multiprogramación Transparencia Soluciones Overlays: Control directo por parte del programador Memoria virtual: Control realizado por el S.O. La memoria virtual (MV) se basa en el principio de localidad de las referencias. Mantener en memoria principal sólo la información que se necesite en cada momento Reducción de la E/S Actúa como una caché de objetos Archivos, swap, dispositivos  1999-2004 S2P, OGP & IGT

Memoria virtual: recordatorio Implementación: basada tanto en mecanismos de paginación o segmentación Problemática: Detectar si la información referenciada está en memoria principal Si no lo está, localización en disco Políticas de ubicación y asignación de páginas Habitualmente se usa paginación: Bloques de tamaño fijo, las transferencias desde y hacia el disco son más simples Políticas de ubicación son más simples: todos los bloques son iguales Soporte Hardware requerido: Tablas de páginas Bits de validez, referencia y modificación Instrucciones interrumpibles Almacenamiento secundario  1999-2004 S2P, OGP & IGT

Paginación: resumen S. O. Memoria secundaria Memoria principal Programa S. O. Memoria principal Marco libre Tabla de páginas 2 Excepción 3 La página está en memoria auxiliar 4 Cargar la página que falla Memoria secundaria LOAD M 6 1 Referencia Reiniciar la instr. 5 Actualizar la tabla de páginas  1999-2004 S2P, OGP & IGT

Hiperpaginación (Thrashing) Hiperpaginación: Un proceso genera fallos de página frecuentemente y el sistema pasa la mayor parte del tiempo paginando Thrashing Utilización de la CPU Grado de multiprogramación  1999-2004 S2P, OGP & IGT

Hiperpaginación (Thrashing) Posible causa de la hiperpaginación: Un proceso necesita más marcos, su tasa de fallos de página aumenta y se produce la siguiente reacción en cadena: Disminuye el uso de la CPU El S.O. decide aumentar el grado de multiprogramación La tasa de fallos de página se incrementa más Soluciones: Reducir la multiprogramación o emplear un algoritmo de reemplazo local o por prioridades Prevenir la hiperpaginación  1999-2004 S2P, OGP & IGT

Modelo del conjunto de trabajo Se basa en la localidad Formado por las páginas recientemente accedidas Las páginas en uso se encuentran en el CdT El conjunto de trabajo varía con el tiempo Número de páginas del almacenamiento primario asignadas al proceso Tiempo  1999-2004 S2P, OGP & IGT

¿Cómo determinar el CdT? El verdadero CdT lo forman las páginas que deben estar en el almacenamiento primario para la ejecución eficaz del proceso W = tamaño de la ventana del CdT ¿Cómo afecta el tamaño de W? w Tiempo de ejecución de un proceso t-w t Las páginas referenciadas por el proceso durante este intervalo constituye el conjunto de trabajos W(t,w), del proceso  1999-2004 S2P, OGP & IGT

Frecuencia de fallos de página La estrategia de la PFF es un enfoque más directo para evitar el vapuleo Se establece un límite superior e inferior para la PFF y así evitar el thrashing Incrementar el número de marcos límite superior Frecuencia de fallos de página límite inferior Decrementar el número de marcos Número de marcos  1999-2004 S2P, OGP & IGT

Memoria virtual: algoritmos Política de asignación: ¿Qué cantidad de memoria real se asigna a un proceso activo? Política de ubicación: ¿Dónde puede ubicarse un bloque en memoria principal? Política de búsqueda: ¿Cuándo y qué bloques traer del almacenamiento secundario a MP? Paginación anticipada Paginación por demanda Política de reemplazo: ¿Qué bloque debería sustituirse al traer a memoria principal un nuevo bloque si no hay memoria libre?  1999-2004 S2P, OGP & IGT

Políticas de asignación El mínimo número de marcos que debe asignarse a un proceso está definido por la arquitectura Ámbito del reemplazo de páginas Tipos de algoritmos de asignación: Asignación equitativa Asignación proporcional Asignación prioritaria Ventajas Las páginas de un proceso en memoria dependen sólo de su comportamiento Mejor aprovechamiento de la memoria Reemplazo local Reemplazo global  1999-2004 S2P, OGP & IGT

Políticas de ubicación Métodos utilizados para contabilizar la memoria utilizada y libre: Mapa de bits Listas Políticas de ubicación: En paginación: “Indiferente” En segmentación First fit: el primero que sirva Next fit: el siguiente que sirva Best fit: el que mejor se adapte Worst fit: el que peor se adapte Sistema Buddy  1999-2004 S2P, OGP & IGT

Sistema Buddy 1024 Kb P1 128 256 512 P1 P2 64 256 512 P1 P2 64 P3 128 Bloques libres Inicial P1 pide 70 P2 pide 35 P3 pide 80 Devuelve P1 P4 pide 60 Devuelve P2 Devuelve P4 Devuelve P3 1 3 4 1024 Kb P1 128 256 512 P1 P2 64 256 512 P1 P2 64 P3 128 512 128 P2 64 P3 128 512 128 P2 P4 P3 128 512 128 64 P4 P3 128 512 256 P3 128 512 1024 Kb  1999-2004 S2P, OGP & IGT

Paginación por demanda El camino que toma un programa cuando se está ejecutando no es predecible Se cargan las páginas a medida que se necesitan Ventajas: Las páginas traídas son las que realmente se necesitan La sobrecarga que implica la decisión de qué páginas traer al almacenamiento principal es mínima  1999-2004 S2P, OGP & IGT

Paginación anticipada (prepaginación) Trata de evitar los retardos por fallos de página Se cargan un cierto número de páginas en base a una predicción Ventajas: Si la predicción es buena, el tiempo de ejecución de los procesos se reduce considerablemente Con la reducción de costes del hardware, las consecuencias de una mala predicción son menos graves  1999-2004 S2P, OGP & IGT

Reemplazo de páginas Es necesario cuando se produce un fallo de página y está toda la memoria llena Tasa de fallos  uno por cada 106 – 2 x 107 accesos Si hay un fallo de página (miss) hay que: Encontrar la página demandada en memoria auxiliar Encontrar un marco libre o liberarlo usando un algoritmo de reemplazo de páginas Cargar la página en memoria principal (page in) Transferir el control al proceso de usuario  1999-2004 S2P, OGP & IGT

Algoritmos de reemplazo de páginas Se pretende utilizar el algoritmo que seleccione páginas que causen la frecuencia de fallos más baja Criterios para valorar la calidad de los algoritmos de sustitución: Baja sobrecarga Sin ajustes (“No tuning”) Aproximación al LRU (menos usada recientemente)  1999-2004 S2P, OGP & IGT

Cadenas de referencia Para evaluar la calidad de los algoritmos de sustitución se consideran: Cadenas de referencia: listas de referencias a páginas Número de marcos de página de que se dispone Obtención de las cadenas de referencia: Artificialmente, de forma pseudoaleatoria Grabando una traza de ejecución  1999-2004 S2P, OGP & IGT

Cadenas de referencia Ejemplo: 0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, 0102, 0103, 0104 0101, 0610, 0102, 0103, 0104, 0101, 0609, 0102, 0105 Con páginas de 100h palabras Cadena de referencias: sólo nos interesa el número de página si se referencia una página p, las referencias inmediatamente sucesivas a esa página nunca causarán fallo de página 1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1 Con tres marcos habrá 3 fallos y con 1 marco 11 fallos si el número de marcos aumenta, en general, el número de fallos de página disminuye  1999-2004 S2P, OGP & IGT

Algoritmos de reemplazo de páginas Existen diferentes algoritmos, entre ellos: Algoritmo óptimo Algoritmo FIFO Algoritmo LRU Algoritmos de aproximación al LRU  1999-2004 S2P, OGP & IGT

Algoritmo óptimo Se reemplaza la página que va a tardar más tiempo en ser usada La tasa de fallos es la más baja posible Algoritmo imposible de realizar Criterio comparativo  1999-2004 S2P, OGP & IGT

Algoritmo óptimo Marcos de página Ejemplo: Cadena de referencia 3 1 7 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 2 4 8 fallos de página  1999-2004 S2P, OGP & IGT

Algoritmo FIFO Marcos de página Sustituye la página que lleva más tiempo en memoria Ejemplo: Cadena de referencia Marcos de página 2 1 7 3 4 12 fallos de página 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0  1999-2004 S2P, OGP & IGT

Algoritmo FIFO Algoritmo sencillo de entender e implementar Inconvenientes: Rendimiento del algoritmo pobre. Páginas frecuentemente usadas pueden ser sustituidas Se puede producir la Anomalía de Belady: aumento del número de fallos de página al aumentar el número de marcos  1999-2004 S2P, OGP & IGT

Con 3 marcos, 9 fallos de págna Anomalía de Belady Ejemplo: Con 3 y 4 marcos de página Con 3 marcos, 9 fallos de página 5 1 4 2 3 Con 3 marcos, 9 fallos de págna Con 4 marcos, 10 fallos de página 1 2 3 4 1 2 5 1 2 3 4 5 1 2 3 4 1 2 5 1 2 3 4 5  1999-2004 S2P, OGP & IGT

Algoritmo LRU (Least Recently Used) Algoritmo de aproximación al reemplazo óptimo Basado en utilizar el pasado reciente como una predicción del futuro más próximo Sustituye la página menos usada en el pasado inmediato Carece de la anomalía de Belady La implementación requiere de hardware adicional: Campo en las entradas de la tabla de páginas Pila de las páginas en memoria  1999-2004 S2P, OGP & IGT

Algoritmo LRU (Least Recently Used) ¿Podría comportarse erróneamente el algoritmo con un bucle que ocupa varias páginas? Ejemplo: Cadena de referencia Marcos de página 2 1 7 3 4 11 fallos de página 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0  1999-2004 S2P, OGP & IGT

Algoritmos de aproximación al LRU Existen diferentes algoritmos, entre ellos: Algoritmo del reloj global Algoritmo FIFO con segunda oportunidad Algoritmo NFU  1999-2004 S2P, OGP & IGT

Algoritmo del reloj global Se colocan todas las páginas que pueden ser sustituidas en una lista circular Un proceso de sistema borra los bits de referencia cada cierto tiempo utilizando un puntero giratorio Si en la siguiente vuelta el bit sigue desactivado, la página en cuestión es una buena candidata a ser sustituida 7 2 10 5 20 8 16 1 34 9 Páginas  1999-2004 S2P, OGP & IGT

Algoritmo FIFO con segunda oportunidad Combina sencillez y buen rendimiento Emplea un bit de referencia asociado a cada página Pasos del algoritmo: Se elige una página con criterio FIFO y se examina su bit de referencia Si el bit de referencia está activo, se desactiva y se trata la página como si se acabara de llegar a memoria. Volver a 1 Si el bit de referencia está desactivado, se sustituye la página Generalmente se implementa mediante una cola FIFO circular con las páginas cargadas  1999-2004 S2P, OGP & IGT

Algoritmo FIFO con segunda oportunidad Ejemplo: Cadena de referencia 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 Marcos de página 7 7 7 7 2 2 2 2 4 4 4 4 3 3 3 3 2 2 2 2 2 1 1 1 1 1 1 1 3 3 3 3 3 2 2 7 1 2 3 4 2 3 R 1 R 1 7 7 1 R 7 1 R 2 1 R 7 1  1999-2004 S2P, OGP & IGT

Algoritmo FIFO con segunda oportunidad Ejemplo: Cadena de referencia 1 2 R 12 fallos de página Marcos de página 7 3 4 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0  1999-2004 S2P, OGP & IGT

Algoritmo NFU (Not Frequently Used) Algoritmo que simula por software el algoritmo LRU Utiliza un contador asociado a cada página que se incrementa en cada interrupción de reloj de acuerdo con el valor del bit de referencia En cada pulso de reloj se borra el valor del bit de referencia Si hay un fallo de página se elige la página con el valor mínimo del contador para su sustitución  1999-2004 S2P, OGP & IGT

Algoritmo NFU (Not Frequently Used) Ejemplo: Cadena de referencia C R 0 1 2 3 4 5 6 7 1 2 3 4 7 1ª interrupción de reloj 2ª interrupción de reloj 3ª interrupción de reloj 4ª interrupción de reloj 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 Interrupción 1ª 2ª 0 1 2 3 4 5 6 7  1999-2004 S2P, OGP & IGT

Algoritmo NFU (Not Frequently Used) Ejemplo: Cadena de referencia 9 fallos de página 1 2 R 4 C 3 0 1 2 3 4 5 6 7 7 1ª interrupción de reloj 2ª interrupción de reloj 3ª interrupción de reloj 4ª interrupción de reloj 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 Estado final  1999-2004 S2P, OGP & IGT

Algoritmo NFU (Not Frequently Used) Problema: ¿qué sucede si una página se usó mucho en la fase inicial de un proceso y luego no se vuelve a utilizar? Solución: mecanismos que permitan envejecimiento de los contadores Desplazar los contadores 1 bit a la derecha antes de añadir el bit de referencia Añadir el bit de referencia al bit del extremo izquierdo del contador  1999-2004 S2P, OGP & IGT

Caso de estudio: Mach 3.0 Posee un algoritmo FIFO con segunda oportunidad Utiliza tres colas de páginas: Cola de páginas libres Cola de páginas activas Colas de páginas inactivas Un demonio denominado “pageout” mueve páginas: Desde la cola de páginas activas a la cola de páginas inactivas Desde la cola de páginas inactivas a la de páginas libres  1999-2004 S2P, OGP & IGT

Caso de estudio: Mach 3.0 Las colas activa e inactiva son FIFO Las páginas que están en la cola inactiva y son referenciadas, se pasan a la cola activa Cola libre Cola activa Cola inactiva Localización Pageout Scan Referencia  1999-2004 S2P, OGP & IGT

Caso de estudio: Mach 3.0 Código base de “pageout”: if (free_queue_pages < vm_page_free_min) { while ((free_queue_pages < vm_page_free_target) && (Inactive_queue)) move pages from inactive queue to free queue } if (inactive_queue_pages < vm_page_inactive_target) move pages from active queue to inactive queue else sleep  1999-2004 S2P, OGP & IGT

Nivel 1 Nivel2 Nivel3 Desplazamiento Caso de estudio: Linux Niveles de tablas en Linux Nivel 1 Nivel2 Nivel3 Desplazamiento Página física Tabla de páginas Tabla de páginas Tabla de páginas #Página #Página #Página PGD  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Memoria virtual del proceso Datos Código vm_area_struct Memoria virtual del proceso task_struct vm_end vm_start vm_flags mm vm_inode vm_ops Datos mm_struct vm_next open ( ) close ( ) count pgd vm_area_struct vm_end swapout () vm_start swapin ( ) mmap vm_flags vm_inode Operaciones de memoria virtual Código vm_ops vm_next  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Memoria física free_area mem_map_t mem_map_t Marco 0 Libre count age map_nr= 70 count age map_nr= 4 4 map Marco 1 3 Marco 2 2 Marco 3 Marco 4 1 mem_map_t Marco 5 count age map_nr= 0 Marco 6 Marco 7 Marco 8  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Paginación bajo demanda Apertura y proyección del programa sobre las áreas de memoria virtual del proceso Fallo de página No Paginación bajo demanda ¿Dirección legal? Acceso ilegal. Enviar señal SIGSEV al proceso No ¿Acceso legal? Sí Fallo de página legal Traer página desde el área de intercambio Traer página desde el archivo en disco No Sí ¿Entrada vacía en la TP?  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Gestión del área de intercambio: Un demonio de intercambio (kswapd) se encarga de mantener suficientes marcos libres kswapd se ejecuta como un hilo del núcleo activándose en el arranque del sistema kswapd cada segundo comprueba si el número de marcos libres es demasiado bajo. Si es así, busca marcos que puedan ser descartados o sustituidos Algoritmo implementado en el demonio: algoritmo de aproximación al LRU con envejecimiento  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Técnica de envejecimiento de páginas: Al asignar un marco de página se le asocia por defecto edad 3 Las páginas rejuvenecen al acceder a ellas (edad+3 hasta un máximo de 20) Cada vez que se ejecuta kswapd envejece las páginas en 1 si no se usan Las páginas víctimas para los intercambios se eligen de entre las páginas viejas (edad 0) y modificadas En función de la operación vm_ops->swapout de la región de memoria (vm_area_struct), la página víctima se lleva a disco.  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Si una página modificada se lleva a disco: su entrada en la tabla de páginas se marca como inválida se incluye la información para su recuperación posterior y se libera, añadiéndola en la free_area Las páginas no modificadas no se sustituyen: se descarta su contenido se marcan como libres, añadiéndolas en la free_area Si se recuperan suficientes páginas del proceso seleccionado, el demonio dormirá de nuevo Si no se liberan suficientes páginas del proceso actual, se continúa con el siguiente proceso El demonio empezará en la página siguiente en una nueva activación  1999-2004 S2P, OGP & IGT

Caso de estudio: Linux Proceso A Tabla de páginas A Página 0 Página 1 BV BR BM Página 0 Página 1 Página 2 Página 3 1 2 1 0 Página 0 Página 1 Página 3 Página 2 Memoria física Marco 0 Marco 1 Marco 2 Marco 3 Marco 4 Marco 5 1 1 0 0 1 0 Tabla de páginas B Proceso B BV BR BM Página 0 Página 1 Página 2 0 0 1 0 3 1 0 4  1999-2004 S2P, OGP & IGT

 kswapd Caso de estudio: Linux Edad de los marcos de página 0 1 2 3 4 0 1 2 3 4 Proceso A Tabla de páginas A 7 9 3 BV BR BM Página 0 Página 1 Página 2 Página 3 1 x 1 0 Memoria física free_area 0 1 Página 3 2 1 0 0 Página 0 1 0 Página 1 2 4 Tabla de páginas B Proceso B Página 1 BV BR BM Página 0 Página 1 Página 2 0 0 swap 1 0 3 1 x 0 0  1999-2004 S2P, OGP & IGT

Caso de estudio: W2K El gestor de memoria virtual de WNT utiliza un algoritmo de reemplazo de páginas local tipo FIFO La política de reemplazo sustituye la página más antigua del conjunto de páginas del proceso que causó el fallo Conjunto de trabajo (WS): número de páginas que el proceso tiene garantizadas en memoria mientras se está ejecutando Páginas nuevas Páginas antiguas Conjunto de trabajo  1999-2004 S2P, OGP & IGT

Caso de estudio: W2K Al crearse un proceso se le asigna un tamaño mínimo del WS El gestor varía el tamaño de los WS de los procesos según los requirimientos de memoria: Incrementa la memoria libre del sistema (recorte automático del WS) de un proceso si su tamaño es mayor que el mínimo Incrementa el tamaño del WS hasta un máximo si el proceso genera fallos de página y la memoria no está demasiado llena Si el proceso requiere más páginas, se eliminan páginas de su WS empleando el algoritmo FIFO  1999-2004 S2P, OGP & IGT

Caso de estudio: W2K Las páginas eliminadas del WS pueden volver a él rápidamente sin realizar lectura del disco Permanecen en memoria en uno de estos estados: Standby: el proceso utiliza el marco de página pero ha sido eliminado del WS Modificado: = Standby pero el proceso ha escrito en la página sin actualización de disco lista de páginas en standby o modificadas Conjunto de trabajo  1999-2004 S2P, OGP & IGT

Caso de estudio: W2K WS de procesos Fallo de página cero Lectura de página del disco o núcleo Lista de marcos Standby Lista de marcos libres Lista de marcos Cero WS de procesos Fallos de página “soft” Escritor de marcos modific. Hilo de marco Cero Lista de marcos Modific. Sustitución en el WS Lista de marcos erróneos Finaliza el proceso  1999-2004 S2P, OGP & IGT