Чтобы ответить на вторую часть вашего вопроса, опять же, это зависит от оборудования и ОС.В типичной системе (т. Е. X86) ЦПУ обращается к регистрам сегментов (через глобальные или локальные таблицы дескрипторов), чтобы превратить относительный адрес сегмента в виртуальный адрес (это обычно, но не всегда, запрет на работу в современных системах x86).системы), а затем (MMU делает этот бит действительно, но на x86 его часть ЦП) обращается к таблицам страниц, чтобы превратить этот виртуальный адрес в физический адрес.Когда он встречает страницу, которая не помечена как присутствующая (текущий бит не установлен в каталоге или таблицах страниц), он вызывает исключение.Когда ОС обрабатывает это исключение, она либо сдается (вызывая сигнал segfault, который вы видите при совершении ошибки или паники), либо она изменяет таблицы страниц, чтобы сделать память действительной и продолжить с исключения.Как правило, в ОС есть некоторая бухгалтерия, в которой говорится, какие страницы могут быть действительными и как получить страницу.Так происходит пейджинг по требованию.