Silberschatz, Galvin, and Gagne  1999 10.1 Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

III - Gestión de memoria
Administración de memoria
Administración de Memoria Virtual
Planificación de Monoprocesadores
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Algoritmos de Remplazamiento de Paginas
Introducción a los Sistemas Operativos Memoria Virtual
Modelo de procesos de dos estados
Departamento de Ingeniería de Sistemas Universidad de Antioquia
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
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
ADMINISTRACIÓN DE MEMORIA
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez
Teoría de Sistemas Operativos
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
Direcciones físicas y direcciones virtuales (lógicas)
Paginación-Segmentación Fundamentos Translación de Direcciones Tabla de páginas Segmentación Emely Arráiz Ene-Mar 08.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
MIPS Intermedio.
Administración de memoria
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Simulador didáctico de jerarquías de memoria
PAGINACIÓN Y SEGMENTACIÓN
Profesor: Rodrigo Sanhueza Figueroa
Administración de Memoria Memoria Virtual
Capítulo 6: Planificación del CPU – Parte a
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
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y 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.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Contenido Estructura del computador Ejecución de instrucciones
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.
ICC243 Sistemas Operativos
Administración de Memoria no contigua
UTFSM - Sistemas Operativos. Fallos de página (page faults)  ¿Bajo qué circunstancias ocurren?  Ocurren cuando se intenta acceder a una página que no.
Tema VII Memoria Virtual.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Organización del Computador
Memoria virtual.
Gestión de Memoria.
ICC243 Sistemas Operativos
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Tema 10: Gestión de Memoria
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Rendimiento de la CPU y sus factores
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
3.2.1 Administración de almacenamiento
MIA - Grupo 5 Unidad 2.
Memoria Virtual Msc. Rina Arauz.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
Gestión de Memoria – Parte 2
1. ? M.P. ¿Su gran restricción? Exigir que un Pi esté entero en M.P. para poder ejecutarse AUn Pi más grande que la M.P. no podrá ejecutarse BSi {Procesos.
Memoria virtual. 2/71 Implementación de la Tabla de Páginas La Tabla de Páginas se mantiene en Memoria Principal. El Page-Table Base Register (PTBR) apunta.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos Remplazo de Página Asignación de Marcos Hiperpaginación Ejemplos.
Arquitectura de Computadores
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Transcripción de la presentación:

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo Demanda Reemplazo de Paginas Algoritmos de Reemplazo de Paginas Alocacion de Frames Thrashing Otras consideraciones Segmentacion bajo Demanda

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Concepto Memoria Virtual: es una extension de la memoria fisica real en almacenamiento secundario. –Solo una parte de los programas necesita estar en memoria para su ejecucion. –El espacio de direccionamiento logico puede entonces ser mucho mayor que el espacio de direccionamiento fisico. –Surge la necesidad de permitir el swapeo de paginas. La Memoria Virtual puede ser implementada via: –Paginado bajo Demanda –Segmentacion bajo Demanda

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Paginado bajo Demanda Una pagina es traida a memoria solo cuando se necesita. –Se necesita menos I/O –Se necesita menos memoria –Respuesta mas rapida –Mas usuarios Necesidad de pagina  se la referencia –referencia invalida  cancelacion –no esta en memoria  se la trae a memoria

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Bit Valido- Invalido Cada entrada en la tabla de paginas tiene asociado un bit (1  in-memory, 0  not-in-memory) Inicialmente el bit es seteado a 0 entodas las entradas Ejemplo: Durante la traduccion de direcciones si el bit esta en 0  falla de pagina  Frame #valid-invalid bit page table

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Falla de Pagina Si hay una referencia a una pagina que no esta en memoria  falla de pagina. El SO analiza: –Referencia invalida  cancelacion –No en memoria, entonces: Busca un frame libre. Lleva la pagina dentro del frame. Bit validacion = 1. Restart de la instruccion –mueve los bloques –auto incremento/decremento

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Que pasa si no hay frame libre? Reemplazo de pagina – busqueda de paginas en memoria, no en uso, y swap out. –algoritmo –performance – queremos algoritmos que minimizen el numero de fallas de pagina. Algunas paginas pueden ser movidas a memoria varias veces.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Performance del Paginado bajo Demanda Tasa de Falla de Pagina p donde 0  p  1.0 –if p = 0 no hay falla de pagina –if p = 1, toda referencia es una falla Tiempo de Acceso Efectivo (EAT) EAT = (1 – p) x ma + p x tiempo falla pagina

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Ejemplo Tiempo de acceso a memoria = 1 microsegundo 50% del tiempo la pagina que esta siendo reemplazada ha sido modificada y necesita swap out. Tiempo de Swap de pagina = 10 msec = 10,000 msec EAT = (1 – p) x 1 + p (15000) P (in msec)

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Reemplazo de Pagina Previene la sobreocupacion de memoria incluyendo en la rutina de servicio de falla de pagina un algoritmo de reemplazo. Usa el bit de modificacion´para reducir el overhead de la transferencia de paginas. El reemplazo de paginas completa la separacion entre memoria logica y memoria fisica.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Page-Replacement Algorithms El objetivo es mantener baja la tasa de falla de pagina. Se evalua el algoritmo corriendolo en un string particular de referencias a memoria y calculando el numero de fallas de pagina en dicho lstring. En los ejemplos el string es 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritmo First-In-First-Out (FIFO) String Referencia: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frames 4 frames – Anomalia de Belady –mas frames  mas falla de pagina fallas de pagina fallas de pagina 4 43

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritmo de Optimizacion Reemplaza la pagina que no sera usada por mas largo tiempo. 4 frames 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Como lo sabemos? Se usa como medida de funcionamiento de algoritmos page faults 4 5

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritmo Least Recently Used (LRU) String referencia: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Implementa un contador –Cada entrada de pagina tiene un contador; cada vez que la pagina es referenciada copia el reloj dentro del contador. –Cuando se necesita cambiar una pagina, se toma el contador para determinar la selección

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritno LRU (Cont.) Implementacion de pila: –Pagina referenciada:  la muevo al tope de la lista –No hay busqueda para el reemplazo

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritmos de Aproximacion a LRU Bit de referencia –Asocio un bit a cada pagina, incialmente= 0 –Cuando se referencia el bit = 1. –Reemplazo paginas con bit = 0 ( si existe ). No manejo ningun orden. Segunda opcion –Necesito un bit de referencia. –Reemplazo por reloj. –Si la pagina a ser reeemplazada ( en orden al reloj ) tiene el bit = 1, entonces:  set bit = 0.  mantengo la pagina en memoria.  Reemplazo la proxima pagina ( en orden al reloj ) sujeto a las mismas reglas.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Algoritmos basados en Contadores Mantengo un contador del numero de referencias que se hicieron a cada pagina. Algoritmo LFU: reemplaza la pagina con el contador mas chico. Algoritmo MFU: se basa en el argumento de que la pagina con el contador mas chico es la mas reciente en memoria y sera reemplazada para necesitarse un instante cercano posterior.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Alocacion de Frames Cada proceso necesita un minimo numero de paginas. Existen 2 esquemas de alocacion. –Alocacion fija –alocacion por prioridad

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Alocacion Fija Alocacion Igual – ejemplo, si 100 frames y 5 procesos, entonces a cada uno se le asignan 20 paginas. Alocacion Proporcional – La alocacion es proporcional al tamaño del proceso.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Alocacion por Prioridad Usa alocacion proporcional usando un esquema de prioridades antes que el tamaño. Si el proceso P i genera una falla de pagina, –selecciona para reemplazar un frame de un proceso con menor nivel de prioridad.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Alocacion Global Vs. Local Global – los procesos seleccionan un frame de reemplazo del conjunto de todos los frames. Local – cada proceso selecciona solo desde su conjunto de frames alocados.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Thrashing Si un proceso no tiene suficiente cantidad de paginas, la tasa de falla de paginas es muy alta. –Baja utilizacion de CPU. –El sistema operativo piensa que tiene que incrementar el nivel de multiprogramacion. –Se adiciona otro proceso al sistema. Thrashing  la actividad de alto paginado es llamada thrashing. Un proceso esta afectado por esta situacion cuando consume mas tiempo en paginado que en ejecucion.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Diagrama de Thrashing Como trabaja el paginado? Modelo de Localidad –Un proceso migra de una localidad a otra. –Las localidades pueden overlapearse. Porque ocurre el thrashing ?  tamaño de localidad > tamaño total de memoria

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Modelo del Conjunto de Trabajo   ventana del conjunto del trabajo  un numero fijo de referencias a paginas Ejemplo: 10,000 instrucciones WSS i (conjunto de trabajo del proceso P i ) = numero total de paginas referenciadas en el mas reciente  –si  es muy pequeño no guarda toda la localidad. –si  es muy grande guarda varias localidades. –si  =   entonces mantiene todo el programa. D =  WSS i  demanda total de frames si D > m  Thrashing Politica si D > m, suspender un proceso.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Seguimiento del Conjunto de Trabajo Se puede aproximar con un contador de intervalos + un bit de referencia Ejemplo:  = 10,000 –Interrupcion despues de cada 5000 unidades de tiempo. –Mantiene en memoria 2 bits por cada pagina. –Cada vez que genera una interrupcion copia y setea l valor del bit de referencia a 0. –Si uno de los bits en memoria = 1  la pagina esta dentro del conjunto de trabajo. Porque no es completamente seguro? Mejora = 10 bits e interrupcion cada 1000 unidades de tiempo.

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Esquema de Frecuencia

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts

Silberschatz, Galvin, and Gagne  Applied Operating System Concepts