100 likes | 226 Views
UTFSM - Sistemas Operativos. Ayudantía 8: Virtual memory. Fallos de página (page faults). ¿Bajo qué circunstancias ocurren? Ocurren cuando se intenta acceder a una página que no está en la memoria principal. ¿Qué ocurre después de un page fault ? Se verifica:
E N D
UTFSM - Sistemas Operativos Ayudantía 8:Virtual memory
Fallos de página (page faults) • ¿Bajo qué circunstancias ocurren? • Ocurren cuando se intenta acceder a una página que no está en la memoria principal. • ¿Qué ocurre después de un page fault? • Se verifica: • El acceso a memoria. Si es inválido, se para el programa. • Si es válido, se ubica un frame libre y se hace un request de I/O para cargar la página en ese frame. • Se actualiza la tabla de páginas. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Cadena de referencias a página • Asumir que se tiene una cadena de referencias a página (page-referencestring) para un proceso con m frames (inicialmente todos desocupados). El p-r string tiene largo p; hay n números de página distintos en ella. • ¿Cuál es la cota mínima de page faults? • ¿Cuál es la cota máxima de page faults? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Estructuras para demandpaging • ¿Cuáles de las siguientes estructuras de datos/técnicas de programación son buenas? • Stack • Tabla de hashing • Búsqueda secuencial • Búsqueda binaria Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Algoritmo de Second-chance • Asumir que se está monitoreando el ratio en el que el puntero del algoritmo del reloj (que indica la página candidata a reemplazo) se mueve. • ¿Qué se puede decir del sistema si se observa el siguiente comportamiento? • El puntero se mueve muy rápido. • El puntero se mueve muy lento. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Algoritmos de reemplazo de página • Considerar los siguientes algoritmos: • LRU replacement • FIFO replacement • Optimalreplacement • Second-chance replacement • Ordénelos de “peor” a “mejor” en base a su ratiode page-faults. • ¿Cuáles sufren de la anomalía de Belady? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
LRU • Considerar el arreglo bidimensional A: int A[][] = new int[100][100]; • A[0][0] está en la ubicación 200, en un sistema de memoria paginada con páginas de tamaño 200. Un proceso está en p0 (ubicación 0 a 199), para manipular la matriz; por lo que cada instructionfetch proviene de p0. • Para 3 frames, cuántos page faults se generan en las siguientes inicializaciones del arreglo, usando LRU replacement, y asumiendo que page frame 1 tiene el proceso en él, y los otros 2 están limpios? • for (int j = 0; j < 100; j++) for (inti = 0; i < 100; i++) A[i][j] = 0; • for (inti = 0; i < 100; i++) for (int j = 0; j < 100; j++) A[i][j] = 0; Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Thrashing • ¿Cuál es la causa del thrashing? • ¿Cómo se detecta el thrashing? • ¿Cómo se puede eliminar este problema una vez detectado? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Parámetro Delta • Considere el parámetro ∆ usado para definir el tamaño de la ventana para un working-set. • ¿Qué efecto puede tener un ∆ muy bajo? • ¿Qué efecto puede tener un ∆ muy alto? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Esquemas de reemplazo de segmentos • La segmentación es similar a la paginación, pero con “páginas de distinto tamaño”. • ¿Cómo quedarían 2 esquemas para reemplazo de páginas, usando FIFO y LRU, pero para segmentos? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com