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