La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Silberschatz, Galvin, and Gagne  1999 10.1 Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo."— Transcripción de la presentación:

1 Silberschatz, Galvin, and Gagne  1999 10.1 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

2 Silberschatz, Galvin, and Gagne  1999 10.2 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

3 Silberschatz, Galvin, and Gagne  1999 10.3 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

4 Silberschatz, Galvin, and Gagne  1999 10.4 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 1 1 1 1 0 0 0  Frame #valid-invalid bit page table

5 Silberschatz, Galvin, and Gagne  1999 10.5 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

6 Silberschatz, Galvin, and Gagne  1999 10.6 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.

7 Silberschatz, Galvin, and Gagne  1999 10.7 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

8 Silberschatz, Galvin, and Gagne  1999 10.8 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) 1 + 15000P (in msec)

9 Silberschatz, Galvin, and Gagne  1999 10.9 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.

10 Silberschatz, Galvin, and Gagne  1999 10.10 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.

11 Silberschatz, Galvin, and Gagne  1999 10.11 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 1 2 3 1 2 3 4 1 2 5 3 4 9 fallas de pagina 1 2 3 1 2 3 5 1 2 4 5 10 fallas de pagina 4 43

12 Silberschatz, Galvin, and Gagne  1999 10.12 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. 1 2 3 4 6 page faults 4 5

13 Silberschatz, Galvin, and Gagne  1999 10.13 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. 1 2 3 5 4 4 3 5

14 Silberschatz, Galvin, and Gagne  1999 10.14 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

15 Silberschatz, Galvin, and Gagne  1999 10.15 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.

16 Silberschatz, Galvin, and Gagne  1999 10.16 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.

17 Silberschatz, Galvin, and Gagne  1999 10.17 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

18 Silberschatz, Galvin, and Gagne  1999 10.18 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.

19 Silberschatz, Galvin, and Gagne  1999 10.19 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.

20 Silberschatz, Galvin, and Gagne  1999 10.20 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.

21 Silberschatz, Galvin, and Gagne  1999 10.21 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.

22 Silberschatz, Galvin, and Gagne  1999 10.22 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

23 Silberschatz, Galvin, and Gagne  1999 10.23 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.

24 Silberschatz, Galvin, and Gagne  1999 10.24 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.

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

26 Silberschatz, Galvin, and Gagne  1999 10.26 Applied Operating System Concepts

27 Silberschatz, Galvin, and Gagne  1999 10.27 Applied Operating System Concepts

28 Silberschatz, Galvin, and Gagne  1999 10.28 Applied Operating System Concepts


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

Presentaciones similares


Anuncios Google