lunes, 28 de mayo de 2012

6.8.1 Fijación de páginas en memoria


Considérense los siguientes casos en un sistema con asignación global:
Caso A:
(1) Un proceso P1 se bloquea para leer de disco en un buffer de memoria.
(2)  Entra a ejecución otro proceso, P2.
(3) P2 comete fallo de página.
(4) La página de P1 que contiene el buffer de E/S es elegida como víctima.
Caso B:
(1) Un proceso P1 se bloquea por fallo de página.
(2) Entra a ejecución otro proceso, P2.
(3) La página pedida por P1 se carga en memoria y P1 a preparado para
ejecución.
(4) P2 comete fallo de página.
(5) La página recién cargada de P1 es elegida como víctima.
El Caso A se introdujo con el swapping de procesos, y se vio entonces que una de las
alternativas es definir los buffers de E/S en el espacio del sistema operativo. El Caso B
es una nueva consecuencia de la memoria virtual. Una solución general aplicable a
ambas situaciones es evitar que dichas páginas salgan de memoria mediante un bit
de fijación de la página en memoria que la hace no elegible como víctima.

No hay comentarios:

Publicar un comentario