Підкачка сторінок проти сегментації: ключові відмінності

Зміст:

Anonim

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

Підкачка - це механізм зберігання, який дозволяє ОС отримувати процеси із вторинного сховища в основну пам’ять у вигляді сторінок. У методі підкачки основна пам’ять поділяється на невеликі блоки фіксованого розміру фізичної адреси, яка називається кадрами.

Розмір кадру повинен залишатися таким самим, як розмір сторінки, щоб максимально використовувати основну пам'ять та уникати зовнішньої фрагментації. Підкачка використовується для швидшого доступу до даних, і це логічне поняття.

У цьому підручнику ви дізнаєтесь

  • Що таке пейджинг?
  • Що таке сегментація?
  • Пейджинг проти сегментації
  • Переваги підкачки
  • Перевага сегментації
  • Недоліки підкачки
  • Недоліки сегментації

Що таке сегментація?

Метод сегментації працює майже так само, як пейджинговий, лише різниця між ними полягає в тому, що сегменти мають змінну довжину, тоді як у методі пейджингових сторінок сторінки завжди мають фіксований розмір.

Сегмент програми включає основну функцію програми, структури даних, функції утиліти тощо. В ОС ведеться таблиця карт сегментів для всіх процесів. Він також включає список вільних блоків пам'яті, а також їх розмір, номери сегментів, а також розташування пам'яті в основній або віртуальній пам'яті.

ОСНОВНІ ВІДМІННОСТІ:

  • Сторінка має фіксований розмір блоку, тоді як сегмент має змінний розмір.
  • У підкачці апаратне забезпечення визначає розмір сторінки, тоді як розмір сегмента визначається користувачем.
  • Техніка підкачки швидша для доступу до пам'яті, але сегментація повільніша, ніж метод підкачки.
  • Під час підкачки користувач просто надає одне ціле число як адресу, а в процесі сегментації доступно багато незалежних адресних просторів
  • Таблиця сторінок зберігає дані сторінки, тоді як таблиця сегментації - дані сегментації.

Різниця між пейджингом та сегментацією

Ось відмінності між підкачкою та методом сегментації:

Підкачка сторінок Сегментація
Сторінка має фіксований розмір блоку. Сегмент має змінний розмір.
Це може призвести до внутрішньої фрагментації. Це може призвести до зовнішньої фрагментації.
У підкачці апаратне забезпечення визначає розмір сторінки. Розмір сегмента визначається користувачем.
Адресний простір процесу розбивається на блоки фіксованого розміру, що називається сторінками. Адресний простір процесу розбивається на блоки різного розміру, які називаються секціями.
Техніка підкачки швидша для доступу до пам'яті. Сегментація відбувається повільніше, ніж метод підкачки.
Таблиця сторінок зберігає дані сторінки Таблиця сегментації зберігає дані сегментації.
Пейджинг не сприяє спільному використанню процедур. Сегментація забезпечує спільний доступ до процедур.
Пейджинг не може розрізнити та захистити процедури та дані окремо. Сегментація може відокремити захищені процедури та дані.
Адресний простір підкачки одновимірний При сегментації існує багато незалежних адресних просторів
Під час підкачки користувач просто надає одне ціле число як адресу, яке розділене апаратним забезпеченням на номер сторінки та зміщення. У методі сегментації користувач вказує адресу у двох величинах 1) номер сегмента 2) зміщення.

Переваги підкачки

Ось плюси / переваги використання методу підкачки

  • На рівні програміста підкачка - це прозора функція, яка не вимагає втручання.
  • Рамки не повинні бути суміжними.
  • Простий у використанні алгоритм управління пам’яттю
  • Поміняти місцями легко між сторінками однакового розміру та рамками сторінок.

Перевага сегментації

Ось плюси / переваги сегментації:

  • Перемістити сегменти просто, ніж весь адресний простір.
  • Відсутність внутрішньої фрагментації як зовнішньої фрагментації повинна бути зроблена.
  • Таблиця сегментів має менший розмір у порівнянні з таблицею сторінок у підкачці.
  • Середній розмір сегмента більший за фактичний розмір сторінки
  • Запропонувати захист у межах сегменту
  • Не пропонує внутрішньої фрагментації
  • Таблиці сегментів використовують менше пам'яті, ніж підкачка
  • Оскільки вона пропонує таблицю малих сегментів, посилання на пам’ять є простим, що дозволяє обмінюватися даними між процесами.

Недоліки підкачки

Ось мінуси / недоліки підкачки:

  • Підкачка викликає внутрішню фрагментацію в старих системах.
  • Більший час пошуку пам'яті порівняно з сегментацією
  • Це може спричинити внутрішню фрагментацію
  • Складний алгоритм управління пам’яттю
  • Таблиці сторінок споживають додаткову пам'ять.
  • Багаторівнева пейджингова сторінка може призвести до накладних витрат на пам’ять.

Недоліки сегментації

Ось мінуси / недоліки сегментації:

  • Нерівномірний розмір сегментів не є добрим у разі обміну.
  • Перенесення Linux на різні архітектури важко обробити, оскільки він пропонує дуже обмежену підтримку сегментації.
  • Це вимагає втручання програміста.
  • Важко виділити заразну пам'ять для розділу, оскільки він має змінний розмір.
  • Це дорогий алгоритм управління пам'яттю.