Рекомендуем, 2020

Выбор редакции

Разница между подкачкой и сегментацией в ОС

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

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

Сравнительная таблица

Основа для сравненияPagingсегментация
основнойСтраница имеет фиксированный размер блока.Сегмент имеет переменный размер.
фрагментацияПейджинг может привести к внутренней фрагментации.Сегментация может привести к внешней фрагментации.
АдресУказанный пользователем адрес делится на ЦП на номер страницы и смещение.Пользователь задает каждый адрес двумя величинами: номер сегмента и смещение (предел сегмента).
РазмерАппаратное обеспечение определяет размер страницы.Размер сегмента указывается пользователем.
ТаблицаПейджинг включает в себя таблицу страниц, которая содержит базовый адрес каждой страницы.Сегментация включает таблицу сегментов, которая содержит номер сегмента и смещение (длину сегмента).

Определение пейджинга

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

Для реализации разбиения на страницы физическое и логическое пространства памяти разделены на одинаковые блоки фиксированного размера. Эти блоки физической памяти фиксированного размера называются кадрами, а блоки логической памяти фиксированного размера называются страницами .

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

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

Определение сегментации

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

Логическое адресное пространство представляет собой набор сегментов переменного размера. Каждый сегмент имеет свое имя и длину . Для выполнения сегменты из логической памяти загружаются в физическую память.

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

Ключевые различия между подкачкой и сегментацией

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

Заключение:

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

Top