Ответ на этот вопрос слишком широкий, и я думаю, что он относится к обмену стеками суперпользователя.
В системах x86 таблицы страниц - это структуры, используемые ЦП, но они слишком велики, чтобыудерживайте в регистрах, чтобы они сохранялись в оперативной памяти.
У любого процесса есть карта памяти, в которой есть две большие зоны: пространство пользователя и пространство ядра.Пространство ядра - это одно и то же пространство для всего процесса.Пространство пользователя является частным для этого процесса.В 32-битных системах Linux на базе X86 любой логический адрес, равный или превышающий 0xC0000000, принадлежит ядру.Ниже этого адреса находится пространство пользователя.
Таблица страниц процесса находится в пространстве ядра.Ядро может иметь несколько таблиц страниц в оперативной памяти, но только одна таблица активных страниц.В процессорах x86 это таблица страниц, указанная регистром CR3.
Более подробное объяснение того, как это работает, здесь: https://stackoverflow.com/a/20792205/3011009