Модуль 5. Управління основною пам'яттю
Тема 10. Сторінкова організація. Сегментна організація. Сторінково-сегментна організація. Дворівнева сторінкова організація
Динамічна сторінкова організація
Сегментна організація віртуальної пам'яті
Комбінована сторінково-сегментна організація пам'яті
Дворівнева сторінкова організація
Динамічна сторінкова організація
Динамічна сторінкова організація пам'яті - це сторінкова організація РОП з динамічним розміщенням сторінок процесів за їх запитами (Intel 386 - розмір сторінки 4 Кбайт)
переваги:
- Допустимість максимального обсягу виконуються програм, простота їх програмування.
- Значне зменшення тимчасової фрагментації, максимальне використання РОП і максимальний рівень мультипрограмування.
недоліки:
- Довільний розбиття процесу на сторінки погано враховує властивість локальності програм і не усуває повністю тимчасову фрагментацію, а також створює труднощі спільного використання і захисту загальних програм і даних.
- Складність управління пам'яттю, накладні витрати на зберігання таблиць відображення сторінок. При неоптимальні робочих множини сторінок і розмірах сторінок можлива пробуксовка процесів ( "суцільний обмін").
Для вирішення проблеми пробуксовки сторінок важливу роль відіграє не тільки стратегія виштовхування, а й розмір сторінки.
На вибір оптимального розміру сторінки впливають такі чинники:
1.Малий розмір призводить до збільшення таблиці відображення сторінок, званий табличній фрагментацією.
2.Большой розмір сторінки призводить до того, що в ОП тут поміщені команди і дані, до яких не було звернень.
3.Ввод-висновок буде ефективний при великих розмірах сторінок.
4.Свойство локальності поширюється, як правило, на малі ділянки програм.
5. При малих розмірах сторінок втрати на внутрішню фрагментацію зменшуються.
Висновок: необхідність невеликих розмірів сторінки.
Експериментальні результати поведінки програми в ВС з сторінкової організацією ВП показують:
1. Коли процес починається виконуватися, він звертається до більшого відсотку своїх сторінок.
2. При постійному обсязі виділеної ОП зі збільшенням розміру сторінки зростає число переривань по відсутності потрібної сторінки.
3. З збільшенням кількості виділених процесу блоків (сторінкових кадрів) зменшується число сторінкових переривань, однак, коли процесу виділена достатня кількість блоків, зменшення переривань стабілізується (ефект насичення).
4.Чісло команд, виконаних на сторінці до передачі управління іншій сторінці, як правило, невелика.
Сегментна організація віртуальної пам'яті
В системі з сегментної організацією пам'яті знімається обмеження на фіксований розмір батареї, а потім відповідне довільне розбиття АП процесу на сегменти.
Сегмент - це одиниця логічного розбиття програм (процедура, модуль, область даних), що має змінний розмір і ім'я. Нагадаємо, що сторінка - це фізична одиниця пам'яті.
Сегментна організація забезпечує просте і природне поділ загальних сегментів між декількома користувачами і захист сегментів за допомогою зв'язування з ним прав доступу, що підрозділяються на:
- виконання E
- читання R
- запис W
- розширення A
і їх різних комбінацій.
Для сегментної організації в таблиці відображення сегментів з кожним сегментом пов'язаний дескриптор, який містить адресу розміщення сегмента в ОП, його довжину і права доступу (ERWA), ознака звертання до сегменту за останній інтервал часу, а також ознака присутності в РОП. Якщо віртуальні адресні простори декількох процесів включають один і той же сегмент, то в таблицях сегментів цих процесів робляться посилання на один і той же ділянку оперативної пам'яті, в який цей сегмент завантажується в єдиному екземплярі.
У сегментной організації всі сегменти різного розміру і можуть розміщуватися в несуміжних ділянках РОП.
переваги:
1.Уменьшеніе тимчасової фрагментації, так як природно враховується властивість локальності програм.
2.Легкие поєднується з використанням загальних процесів, оскільки дані і програма цілком знаходяться в одному блоці.
3.Возможно забезпечити чітке управління доступом до сегменту з боку загальних процесів і їх повний захист.
недоліки:
1.Более складне управління і захист ОП. Тут вже не досить пари граничних регістрів, а необхідні ключі захисту індивідуальних сегментів пам'яті.
2.Може виникнути тимчасова фрагментація для великих розмірів процедур і даних.
Комбінована сторінково-сегментна організація пам'яті
Як видно з назви, даний метод являє собою комбінацію сторінкового і сегментного розподілу пам'яті і, внаслідок цього, поєднує в собі переваги обох підходів. Віртуальний простір процесу ділиться на сегменти, а кожен сегмент в свою чергу ділиться на віртуальні сторінки, які нумеруються в межах сегмента. Оперативна пам'ять ділиться на фізичні сторінки. Завантаження процесу виконується операційною системою посторінково, при цьому частина сторінок розміщається в оперативній пам'яті, а частина на диску. Для кожного сегмента створюється своя таблиця сторінок, структура якої повністю збігається зі структурою таблиці сторінок, використовуваної при сторінковому розподілі. Для кожного процесу створюється таблиця сегментів, в якій вказуються адреси таблиць сторінок для всіх сегментів даного процесу. Адреса таблиці сегментів завантажується в спеціальний регістр процесора, коли активізується відповідний процес.
Рісунок.6.3 Перетворення адреси сторінки при чисто асоціативному відображенні.
Трирівнева адресація використовує дві таблиці відображення (таблиця сегментів + таблиця сторінок сегментів).
V = (S, P, d)
S - номер сегмента; P - номер сторінки; d - зміщення.
Динамічне управління адресами тут виконується більш складно в два етапи, і тому в таких системах застосовується високошвидкісна асоціативна пам'ять, по типу кеш-пам'яті.
Звичайна адресується пам'ять - це пам'ять, до якої звертаються за адресою і вибирають значення.
Асоціативна пам'ять - це паралельна пам'ять, до якої здійснюється одночасний доступ по всіх осередків пам'яті за значенням і вибирається в результаті яких адреса відповідної клітинки, або пов'язані з цією осередком інші значення.
Переваги сторінково-сегментної організації:
- Комбінована організація ефективна для великих програм (процедур), що мають свою локальність.
- Робить більш ефективним колективне використання загальних (поділюваних) сегментів, так як рядки різних таблиць сегментів будуть вказувати на одну таблицю сторінок колективно використовуваного сегмента.
Дворівнева сторінкова організація
Дворівнева сторінкова організація утворюється з гіперстраніц, традиційно називаються сегментами, які в свою чергу поділяються на сторінки.
Віртуальний адреса складається також з трьох компонентів (гіперстраніца, сторінка, зміщення).
переваги:
- Скорочення обсягу пам'яті під таблиці сторінок шляхом розміщення в ОП тільки активних частин таблиць сторінок.
- З'являється можливість моделювати сегментну організацію, тобто забезпечити ефективне розділення загальних процедур і захист процесів за допомогою більш простої схеми адресації.
Приклад: ЄС ЕОМ ряд 2 і IBM PC
Сторінки 2 - 4 кб; гіперстраніца 64 - 1024 Кб
У загальному випадку інформація постійно знаходиться на більш низькому рівні ієрархічної структури пам'яті, а механізм управління ієрархією забезпечує передачу на верхній рівень найбільш ймовірну для обробки інформацію. У цьому випадку верхній рівень працює як КЕШ по відношенню до нижнього рівня. Спочатку ідея розглядалася тільки до пам'яті між ЦП і ОП, потім поширилася в загальному сенсі до ієрархії пам'яті.