Administración de Memoria
El siguiente diagrama muestra la asignación de páginas en un sistema Unix que ejecuta los procesos \(A\) y \(B\). Las páginas son de 4 KB. El núcleo utiliza la estrategia copy-on-write para implementar fork.
En cada caso indique la página virtual, real y atributos de validez y escritura.
Construya la tabla de páginas del proceso \(A\) después de que invoca sbrk pidiendo 10 KB adicionales.

Considere que \(B\) invocó fork. Construya la tabla del proceso hijo justo después de que este modifique la página 11. No construya la tabla del padre.

Acá pueden apreciar una serie de estados para una estrategia del reloj tras realizar 2 accesos en un sistema de memoria para reemplazar páginas.
Continue el diagrama pasando por la siguiente secuencia de acceso a páginas de memoria:
4, 7, 5, 3, 4, 1, 5
El siguiente es un diagrama de accesos a páginas de un proceso ejecutado en un sistema Unix utilizando la estrategia del Working Set. Donde:
Asumiendo que el bit \(D\) de todas las páginas comienza en 0. Indique cuales accesos entre los períodos C a F podrían producir page-faults. Utilice coordenadas (\(A\), 1, 1er. acceso)
| 6 | r | rr | ww | r | w | ||||
| 5 | rw | r | rrr | r | r | ||||
| 4 | r | r | |||||||
| 3 | r | rrr | www | ww | |||||
| 2 | rrr | r | r | rr | wr | ww | r | ||
| 1 | rr | rr | r | rw | |||||
| 0 | ww | r | r | w | |||||
| A | B | C | D | E | F | G |
Working sets
Indique el valor del atributo Referenced para todas las páginas al inicio y al final del intervalo \(E\).
| 6 | r | rr | ww | r | w | ||||
| 5 | rw | r | rrr | r | r | ||||
| 4 | r | r | |||||||
| 3 | r | rrr | www | ww | |||||
| 2 | rrr | r | r | rr | wr | ww | r | ||
| 1 | rr | rr | r | rw | |||||
| 0 | ww | r | r | w | |||||
| A | B | C | D | E | F | G |
Working sets
Suponga que al inicio del intervalo \(E\) tiene el atributo Dirty de la página 5 es 0. Explique si el acceso (D, 5, 1er acceso) produjo o no un page fault.
| 6 | r | rr | ww | r | w | ||||
| 5 | rw | r | rrr | r | r | ||||
| 4 | r | r | |||||||
| 3 | r | rrr | www | ww | |||||
| 2 | rrr | r | r | rr | wr | ww | r | ||
| 1 | rr | rr | r | rw | |||||
| 0 | ww | r | r | w | |||||
| A | B | C | D | E | F | G |
Working sets
Compare las dos estrategias de paginamiento en demanda vistas en el curso según la tabla:
| Reloj | Working Set | |
|---|---|---|
| Sobrecosto en tiempo de ejecución cuando sobra la memoria física | ||
| Page-faults cuando hay penuria de memoria pero hay solo 1 procesos en ejecución | ||
| Page-faults cuando hay penuria de memoria y hay muchos procesos en ejecución |
Considere las siguientes implementaciones de un diccionario:
En la primera implementación toda la información se encuentra contigua en la memoria. Mientras que para la segunda las entradas pueden estar muy dispersas en la memoria puesto que el heap que maneja malloc está fragmentado. Considere que este diccionario funciona con búsqueda secuencial, y páginas de 4kB
Estime para ambas implementaciones el peor caso del número de fallas en la TLB en una búsqueda.
¿Cuántos accesos adicionales a la memoria significa cada falla en la TLB considerando un microprocesador Intel x86?
CC4302 — Sistemas Operativos