Пейджинг против сегментации: разница и сравнение

Что такое пейджинг?

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

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

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

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

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

Что такое сегментация?

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

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

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

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

  1. Единицей распределения в пейджинге являются блоки фиксированного размера, называемые «страницами». С другой стороны, единицы распределения в сегментации представляют собой блоки переменного размера, называемые «сегментами».
  2. Пейджинг имеет в памяти блоки фиксированного размера, тогда как, с другой стороны, сегментация имеет в памяти блоки переменного размера.
  3. При пейджинге загрузка памяти может дополнительно возникать из-за частичного использования закрывающей страницы. С другой стороны, при сегментации использование памяти может происходить из-за неиспользуемого пространства внутри сегментов.
  4. Внешняя фрагментация в пейджинге минимальна, поскольку распределение достигается на страницах постоянного размера. С другой стороны, внешняя фрагментация при сегментации может быть существенной, особенно при выделении сегментов переменного размера.
  5. При пейджинге прозрачность для программиста совершенно очевидна, и ему больше не нужно разбираться в схеме пейджинга. С другой стороны, в сегментации прозрачность для программиста требует иметь доступ к сегментам и явно манипулировать ими.

Сравнение пейджинга и сегментации

Параметр сравненияПейджингСегментация
Единица распределенияБлоки фиксированного размера, называемые «страницами».Блоки переменного размера называются «сегментами».
Единица адресацииБлоки фиксированного размера в памяти.         Блоки переменного размера в памяти
Использование памятиЭто также может произойти из-за частичного использования закрывающей страницы.Внутренняя фрагментация может произойти из-за неиспользуемого пространства внутри сегментов.
Внешняя фрагментацияМинимально, поскольку размещение осуществляется на страницах постоянного размера.Это может быть существенным, особенно при выделении сегментов переменного размера.
Прозрачность для программистаСовершенно очевидно; программисту больше не нужно быть знакомым со схемой подкачки.Программист желает иметь доступ к сегментам и явно манипулировать ими.

Рекомендации

  1. https://www.it.uu.se/edu/course/homepage/oskomp/vt08/lectures/handout6.pdf
  2. https://www.sciencedirect.com/science/article/abs/pii/0166531683900305
Один запрос?

Я приложил столько усилий, чтобы написать этот пост в блоге, чтобы предоставить вам ценность. Это будет очень полезно для меня, если вы подумаете о том, чтобы поделиться им в социальных сетях или со своими друзьями/родными. ДЕЛИТЬСЯ ♥️

Хотите сохранить эту статью на потом? Нажмите на сердечко в правом нижнем углу, чтобы сохранить в свой собственный блок статей!

Об авторе

Чара Ядав имеет степень магистра делового администрирования в области финансов. Ее цель — упростить темы, связанные с финансами. Она работает в сфере финансов около 25 лет. Она провела несколько курсов по финансам и банковскому делу для бизнес-школ и сообществ. Подробнее у нее био страница.