Что касается второй части, которая отображает виртуальный адрес на один и тот же физический адрес для библиотечного кода и различных экземпляров кода приложения, то это действительно то, что сделано.Код имеет доступ только для чтения, и тот же виртуальный адрес отображается на тот же физический адрес.Таким образом, нет необходимости иметь несколько копий одного и того же кода в физической памяти, все это при условии, что ASLR не включен.
Теперь, что касается части данных, современные ОС, такие как Linux, используют подкачку страниц по требованию, то есть страница переносится в физическую память только при обращении к ней (чтение или запись).На этом этапе ядро может убедиться, что назначил уникальный физический адрес для этой страницы.Я не знаю, какова цель таблицы страниц всей системы.