Entendí que cuando se usa memoria virtual, no se carga todo el proceso a memoria pero hay ciertos detalles particulales que quisiera entender mejor.
Cuando un proceso es cargado, se hace una carga "perezosa" que solo carga a memoria lo que se necesite del proceso al momento de la carga.
Luego a medida si el proceso necesita paginas que aun no estan cargadas, se va a dar cuenta porque al intentar acceder a una página, se va a dar una trap a causa de tene el valid bit seteado a invalido, y se va a realizar la carga de esa página.
Mi duda es: Cual es la diferencia entre que la página no haya sido cargada nunca desde el archivo ejecutable a memoria, o que la página si haya sido cargado pero ahora esté en el swap? Cambia el bit de validez en alguno de los dos casos o en ambos está como invalido?
O la otra interpetacion posible que le puedo dar al asunto (y no se si esta bien) es que en realidad lo que dijé arriba en negrita no es así y cuando se carga el proceso, SI solo se carga a memoria lo que se necesite, pero las demas páginas van a swap?
Es algo que no me termina de cerrar respecto a esta parte del teórico.