Определение : Сегментация памяти — это процесс, в котором мы делим основную память компьютера на сегменты. Это техника управления памятью. Каждый сегмент может быть выделен для процесса.
Таблица сегментов — это таблица, в которой хранятся все сведения о сегментах, которые в дальнейшем сохраняются в одном из сегментов. Таблица сегментов содержит две информации о сегменте: одна — это базовый адрес сегмента, а другая — длина сегмента.

Необходимость сегментации

  Перед сегментацией мы используем пейджинг в качестве метода управления памятью, поскольку пейджинг находится ближе к операционной системе, чем к пользователю. Пейджинг снижает эффективность системы, поскольку он может разделять одну и ту же функцию на разные страницы, которые могут загружаться или не загружаться в память одновременно. С другой стороны, сегментация делит процесс на сегменты, и каждый сегмент может содержать функции одного типа.

  Разница между пейджингом и сегментацией

Paging сегментация
Пейджинг ближе к нашей операционной системе. Сегментация ближе к пользователю, нежели к операционной системе.
Нет необходимости делать какую-либо внешнюю фрагментацию. В сегментации существует внешняя фрагментация.
При этом информация о странице сохраняется в таблице страниц. При этом информация о сегментах хранится в таблице сегментов.
За это отвечает наша операционная система. При этом за работу отвечает компилятор.
Пейджинг страдает от внутренней фрагментации вместо внешней фрагментации. Сегментация страдает от внешней фрагментации, а не от внутренней фрагментации.
Пейджинг делит нашу программу на различные страницы фиксированного размера. Сегментация делит нашу программу на различные сегменты переменного размера.
При этом логический адрес делится на две вещи; номер страницы и смещение страницы. При этом логический адрес делится на две вещи: номер сегмента и смещение сегмента.
Пейджинг быстрее, чем сегментация. Сегментация медленнее, чем пейджинг.
Это несмежное распределение памяти. Это несмежное распределение памяти .
Запись таблицы страниц содержит биты флага и номер кадра, чтобы она могла представлять подробности о страницах. С другой стороны, запись таблицы сегментов содержит базовый адрес и некоторые защитные биты сегментов.

  Перевод логического адреса в физический адрес путем сегментации

  Логический адрес генерируется процессором, который состоит из двух вещей:

1. Номер сегмента

2. Смещение

  Номер сегмента, который содержит логический адрес, отображается в таблице сегментов. Теперь мы сравним предел сегмента со смещением. Если соответствующий лимит больше смещения, то будет действительный адрес, иначе адрес будет недействительным. Если адрес недействителен, то он покажет ошибку. Благодаря этому мы получаем физический адрес реального слова, которое хранится в основной памяти.

  Все это полностью объясняется с помощью приведенной ниже схемы. Вы также можете сослаться на этот рисунок.

Сегментация памяти в операционной системе

Преимущества сегментации памяти

• Сегментация меньше.
• Внутренняя фрагментация отсутствует, так как в этом делается внешняя фрагментация.
• Размер таблицы сегментов меньше, тогда как размер таблицы страниц в подкачке большой.
• Средний размер сегмента больше по сравнению с реальным размером страницы.
• Мы можем легко переместить сегменты по сравнению с адресным пространством.

Недостатки сегментации памяти

• Это дорогостоящий метод по сравнению с другим.
• В этом есть внешняя фрагментация.
• Так как есть перегородка различного размера. Поэтому им трудно выделить память.