Что такое пейджинг?
Пейджинг - это механизм хранения, который позволяет ОС извлекать процессы из вторичного хранилища в основную память в виде страниц. В методе пейджинга основная память делится на небольшие блоки физического адреса фиксированного размера, которые называются кадрами.
Размер кадра должен быть таким же, как и у страницы, чтобы максимально использовать основную память и избежать внешней фрагментации. Пейджинг используется для более быстрого доступа к данным, и это логическая концепция.
В этом руководстве вы узнаете
- Что такое пейджинг?
- Что такое сегментация?
- Пейджинг против сегментации
- Преимущества пейджинга
- Преимущество сегментации
- Недостатки пейджинга
- Недостатки сегментации
Что такое сегментация?
Метод сегментации работает почти так же, как разбиение на страницы, с той лишь разницей, что сегменты имеют переменную длину, тогда как в методе разбиения на страницы страницы всегда имеют фиксированный размер.
Сегмент программы включает в себя основную функцию программы, структуры данных, служебные функции и т. Д. ОС поддерживает таблицу карты сегментов для всех процессов. Он также включает в себя список свободных блоков памяти с указанием их размера, номеров сегментов и ячеек памяти в основной или виртуальной памяти.
КЛЮЧЕВЫЕ ОТЛИЧИЯ:
- Страница имеет фиксированный размер блока, тогда как сегмент имеет переменный размер.
- В пейджинге оборудование определяет размер страницы, в то время как размер сегмента задается пользователем.
- Метод разбиения на страницы быстрее для доступа к памяти, но сегментация медленнее, чем метод разбиения на страницы.
- При разбивке по страницам пользователь просто предоставляет одно целое число в качестве адреса, а при сегментации доступно множество независимых адресных пространств.
- Таблица страниц хранит данные страницы, а таблица сегментации хранит данные сегментации.
Разница между разбиением на страницы и сегментацией
Вот различия между методом разбиения по страницам и сегментации:
Пейджинг | Сегментация |
Страница имеет фиксированный размер блока. | Сегмент имеет переменный размер. |
Это может привести к внутренней фрагментации. | Это может привести к внешней фрагментации. |
В пейджинге размер страницы определяет оборудование. | Размер сегмента задается пользователем. |
Адресное пространство процесса разбивается на блоки фиксированного размера, которые называются страницами. | Адресное пространство процесса разбито на блоки разного размера, называемые секциями. |
Техника разбиения на страницы быстрее для доступа к памяти. | Сегментация выполняется медленнее, чем метод разбиения по страницам. |
Таблица страниц хранит данные страницы | В таблице сегментации хранятся данные сегментации. |
Пейджинг не способствует совместному использованию процедур. | Сегментация позволяет разделять процедуры. |
Пейджинг не может различать и защищать процедуры и данные по отдельности. | Сегментация позволяет разделить защищенные процедуры и данные. |
Адресное пространство подкачки одномерно | При сегментации доступно множество независимых адресных пространств. |
При пейджинге пользователь предоставляет в качестве адреса только одно целое число, которое аппаратно делит на номер страницы и смещение. | В методе сегментации пользователь указывает адрес в двух величинах: 1) номер сегмента 2) смещение. |
Преимущества пейджинга
Вот плюсы / преимущества использования метода пейджинга
- На уровне программиста подкачка является прозрачной функцией и не требует вмешательства.
- Фреймы не обязательно должны быть смежными.
- Простой в использовании алгоритм управления памятью
- Легко переключаться между страницами одинакового размера и рамками страниц.
Преимущество сегментации
Вот плюсы / преимущества сегментации:
- Легче перемещать сегменты, чем все адресное пространство.
- Отсутствие внутренней фрагментации, поскольку фрагментация внешняя должна быть выполнена.
- Таблица сегментов имеет меньший размер по сравнению с таблицей страниц в разбивке по страницам.
- Средний размер сегмента больше фактического размера страницы.
- Предлагаем защиту внутри сегмента
- Не предлагает внутренней фрагментации
- Таблицы сегментов используют меньше памяти, чем разбиение на страницы
- Поскольку он предлагает небольшую таблицу сегментов, обращение к памяти является простым, что позволяет обмениваться данными между процессами.
Недостатки пейджинга
Вот минусы / недостатки пейджинга:
- Пейджинг вызывает внутреннюю фрагментацию в старых системах.
- Более длительное время поиска в памяти по сравнению с сегментацией
- Это может вызвать внутреннюю фрагментацию
- Сложный алгоритм управления памятью
- Таблицы страниц занимают дополнительную память.
- Многоуровневое разбиение на страницы может привести к перегрузке ссылок на память.
Недостатки сегментации
Вот минусы / недостатки сегментации:
- Неравный размер сегментов не годится в случае обмена местами.
- Перенос Linux на разные архитектуры сложно, потому что он предлагает очень ограниченную поддержку сегментации.
- Это требует вмешательства программиста.
- Трудно выделить для раздела заразную память, так как она имеет переменный размер.
- Это дорогостоящий алгоритм управления памятью.