регистры сегментов x86 не вступают в игру (за исключением FS или GS для локального хранилища потоков). Сегментация не используется для управления чтением / записью, это делается отдельно для каждой страницы с записями таблицы страниц.
Linux отслеживает сопоставления в своих собственных структурах данных отдельно от таблиц аппаратных страниц, чтобы выяснить, что поместить в таблицы страниц HW.
Аппаратная запись таблицы страниц (по одной на страницу) имеет бит только для чтения и чтения-записи. Это существовало даже в унаследованном формате таблицы страниц, до того, как новый формат таблицы страниц (длинный режим PAE и x86-64) представил бит No-eXecute для DEP.
См. Почему в 64-битном виртуальном адресе длина 4 бита (длина 48 бит) по сравнению с физическим адресом (длина 52 бита)? для диаграммы формата таблицы страниц x86-64 и ссылки на больше документов.
Таблицы страниц в 32-битном режиме PAE в основном одинаковы. См. https://wiki.osdev.org/Paging#MMU для разбивки битов, в частности, бит R в каждом аппаратном PTE контролирует то, что делает аппаратное обеспечение.