Рекомендуємо, 2022

Вибір Редакції

Різниця між пошуковими викликами та сегментацією в ОС

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

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

Діаграма порівняння

Основа для порівнянняПейджингСегментація
ОсновнийСторінка має фіксований розмір блоку.Сегмент має змінний розмір.
ФрагментаціяПейджинг може призвести до внутрішньої фрагментації.Сегментація може призвести до зовнішньої фрагментації.
АдресаЗазначена користувачем адреса ділиться на CPU на номер сторінки та зміщення.Користувач вказує кожну адресу двома величинами номера сегмента і зміщення (межа сегмента).
РозмірАпаратне забезпечення визначає розмір сторінки.Розмір сегмента визначається користувачем.
ТаблицяПейджинг включає таблицю сторінок, яка містить базову адресу кожної сторінки.Сегментація включає в себе таблицю сегментів, яка містить номер сегмента і зміщення (довжина сегмента).

Визначення пейджинга

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

Для реалізації пейджингового зв'язку фізичні та логічні простори пам'яті поділяються на однакові блоки фіксованого розміру. Ці блоки фіксованого розміру фізичної пам'яті називаються кадрами, а блоки логічної пам'яті фіксованого розміру називаються сторінками .

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

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

Визначення сегментації

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

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

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

Основні відмінності між пошуковими викликами та сегментацією

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

Висновок:

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

Top