Сегментна організація пам'яті

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

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

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

Значним недоліком організації віртуальної пам'яті, що розділяється на сегменти різної довжини, є наявність "зовнішньої фрагментації" оперативної пам'яті, тобто незайнятих ділянок пам'яті між сегментами. Цей недолік проявляється при вкрай важливо сті розташувати в пам'яті новий сегмент завдання і відсутності вільного фрагмента оперативної пам'яті для його розміщення. У цьому випадку доводиться вживати заходів до звільнення для нового віртуального сегмента ділянки пам'яті вкрай важливо й довжини за рахунок можливої ​​зрушення в оперативній пам'яті інших віртуальних сегментів або перепису інформації (якщо вона змінювалася) з вивільняється ділянки пам'яті в зовнішню пам'ять.

Читайте також

Відповідно до / 1, 5 /, сегментування - це поділ пам'яті на логічні блоки довільної довжини. Логічне простір завдання зазвичай представляється у вигляді декількох сегментів. Кожен сегмент має ім'я, відповідно до якого ОС при розподілі пам'яті. [Читати далі].

Це другий спосіб організації віртуальної пам'яті. Пам'ять ділиться на сегменти - ділянки, необхідні для програм. довжини. Робота в КС організовується так, щоб кожній програмі доступний кожен сегмент. Виділяється кілька сегментів (мінімум 3): сегмент коду, сегмент даних. [Читати далі].

Схожі статті