То о чем ты говоришь, это ведь виртуальной памяти касается когда длл уже загрузилась полностью в оперативку, потом ее выдавило на диск из за нехватки памяти если выдавило, и только тогда этот демон пейджинг будет работать а мы говорим о реальной памяти, о физических адресах и о файлах на диске. Есть функция read() она будет читать файл полностью с диска в память а если уже памяти не хватает тогда начнут действовать эти страничные механизмы и тогда там просто когда твой код обращается к адресу и если этот адрес не в физической странице в а в виртуальной то что то уходит в виртуал а нужная страница подгружается по принципу стека самой системой, вот так это работает по идее. А механизм трансляции адресов процессора приводит это безобразие в линейный вид