Сегментация и разбиение по страницам вовсе не являются избыточными.ОС Linux полностью включает в себя разбиение на страницы по требованию, но не использует сегментацию памяти.Это дает всем задачам плоское, линейное, виртуальное адресное пространство 32/64 бит.
Пейджинг добавляет еще один уровень абстракции к трансляции адресов памяти.С помощью подкачки линейные адреса памяти отображаются на страницах памяти, а не переводятся непосредственно в физическую память.Поскольку страницы могут быть выгружены из физической ОЗУ и из нее, подкачка позволяет выделять больше памяти, чем физически доступно.Только страницы, которые активно используются, должны быть отображены в физической памяти.
Альтернативой перестановке страниц является перестановка сегментов, но, как правило, она гораздо менее эффективна, поскольку сегменты обычно больше страниц.
Сегментация памяти - это метод выделения нескольких фрагментов памяти (за задачу) для разных целей и обеспечения возможности защиты этих блоков друг от друга.В Linux код задачи, данные и секции стека все отображаются в один сегмент памяти.
32-разрядные процессоры не имеют бита режима для отключения сегментации, но тот же эффект можетдостигается путем сопоставления стека, кода и пространств данных с одним и тем же диапазоном линейных адресов.32-разрядные смещения, используемые инструкциями 32-разрядных процессоров, могут охватывать четырех гигабайтное линейное адресное пространство.
Кроме того, документация Intel гласит:
Плоская модельбез подкачки минимально требуется GDT с одним кодом и одним дескриптором сегмента данных.Нулевой дескриптор в первой записи GDT также требуется.Плоская модель с поисковым вызовом может предоставлять код и дескрипторы данных для режима супервизора и другой набор кодов и дескрипторов данных для режима пользователя
Это причина наличия одной пары CS / DS для привилегий ядравыполнение (кольцо 0) и одна пара CS / DS для выполнения привилегий пользователя (кольцо 3).
Описание: Сегментация обеспечивает средства для изоляции и защиты разделов памяти.Пейджинг предоставляет возможность выделить больше памяти, чем физически доступно.