- •4.1 Тема «Основні поняття пам’яті»
- •4.1.1 Визначення пам’яті Віртуальна і реальна пам'ять
- •4.1.2 Ієрархія організації пам’яті.
- •4.2 Тема Способи реалізації стратегій для різних моделей пам'яті.
- •4.2.1 Фіксовані розділи
- •4.2.2 Односегментна модель
- •4.2.3 Багатосегментна модель
- •4.2.4 Сторінкова модель
- •4.2.5 Сегментно-сторінкова модель
- •4.2.6 Плоска модель пам'яті
- •4.3.1. Спільне використання пам'яті.
- •4.3.2 Захист пам'яті.
- •4.3.3. Поняття кеш-пам’яті.
- •4.3.4 Система управління кеш-пам’яттю.
- •4.4.1 Поняття віртуальної пам'яті
- •4.4.2 Проблеми реалізації віртуальної пам'яті.
- •Логічна і фізична адресація пам'яті
- •4.4.4. Підхід базового і межового регістрів
- •4.5 Тема Сторінкова організація пам’яті
- •4.5.1 Сторінкова організація пам’яті (Paging).
- •4.5.2 Концепції управління пам’яттю.
- •4.6 Тема Сегментація та сторінкова організація в архітектурі Intel x86.
- •4.6.1 Сегментація.
- •4.6.2 Адресація сегментів.
- •4.6.3 Імплементація сегментів.
- •4.6.4 Приклад сегментації.
- •4.6.5 Управління сегментами.
- •4.7 Тема Сторінкова організація (Paging) в архітектурі Intel x86.
- •4.7.1. Імплементація сторінкової організації.
- •4.7.2 Приклад сторінкової організації.
- •4.7.3 Управління сторінками і фреймами.
4.1.2 Ієрархія організації пам’яті.
Різні види пам'яті організовані в ієрархію. На нижніх рівнях такої ієрархії перебуває дешевша і повільніша пам'ять більшого обсягу, а в міру просування ієрархією нагору пам'ять стає дорожчою і швидшою (а її обсяг стає меншим). Найдешевшим і найповільнішим запам'ятовувальним пристроєм є жорсткий диск комп'ютера. Його називають також допоміжним запам'ятовувальним пристроєм (secondary storage). Швидшою й дорожчою є оперативна пам'ять, що зберігається в мікросхемах пам'яті, встановлених на комп'ютері, - таку пам'ять називатимемо основною пам'яттю (main memory). Ще швидшими засобами зберігання даних є різні кеші процесора, а обсяг цих кешів ще обмеженіший.
Керування пам'яттю в ОС — досить складне завдання. Потрібної за характеристиками пам'яті часто виявляють недостатньо, і щоб це не заважало роботі користувача, необхідно реалізовувати засоби координації різних видів пам'яті. Так, сучасні застосування можуть не вміщатися цілком в основній пам'яті, тоді не використовуваний код застосування може тимчасово зберігатися на жорсткому диску.
Лекція №13
4.2 Тема Способи реалізації стратегій для різних моделей пам'яті.
План
1. Фіксовані розділи.
2. Односегментна модель.
3. Багатосегментна модель.
4. Сторінкова модель.
5. Багатосторінкова модель.
6. Плоска модель пам'яті
Мета : Вивчити способи реалізації стратегій для різних моделей пам'яті.
4.2.1 Фіксовані розділи
Ця модель пам'яті застосовується в обчислювальних системах, що не мають апаратних засобів трансляції адрес. Процес завантажується в безперервну ділянку пам'яті (розділ), прив'язка адрес виконується при завантаженні. Розмір розділу рівний розміру віртуального адресного простору процесу, який, отже, не може перевищувати розміру доступної реальної пам'яті. Процес в ході свого виконання може видавати запити на виділення/звільнення пам'яті. Всі ці запити задовольняються тільки в межах віртуального адресного простору процесу, а отже - в межах виділеного йому розділу реальної пам'яті.
Прикладом ОС, що працює в такій моделі, пам'яті може бути OS/360, що нині вже не застосовується, але існувала в двох основних варіантах: MFT (з фіксованим числом завдань) і MVT (із змінним числом завдань). У першому варіанті при завантаженні ОС реальна пам'ять розбивалася на розділи оператором. Кожне завдання (процес) займало один розділ і виконувалося в нім. У другому варіанті число розділів і їх положення в пам'яті не було фіксованим. Розділ створювався у вільній ділянці пам'яті перед початком виконання завдання і мав розмір, рівний об'єму пам'яті, замовленому завданням. Створений розділ фіксувався в пам'яті на час виконання завдання, але знищувався при закінченні її виконання.
У більш загальному випадку для процесу може виділятися і декілька розділів пам'яті, причому їх виділення/звільнення може виконуватися динамічно (приклад - MS DOS). Проте, загальними завжди є наступні правила:
розділ займає безперервну область реальної пам'яті;
виділений розділ фіксується в реальній пам'яті;
після виділення розділу процес працює з реальними адресами в розділі.
Завдання ефективного розподілу пам'яті (у будь-якій її моделі) зводиться перш за все до мінімізації сумарного об'єму "дірок". Нижче ми даємо визначення дірок, загальні для всіх моделей пам'яті.
Діркою називається область реальної пам'яті, яка не може бути використана. Розрізняють дірки зовнішні і внутрішні. Малюнок 3.2 ілюструє зовнішні і внутрішні дірки в системі OS/360.
|
Внутрішньою діркою називається пам'ять, яка розподілена процесу, але їм не використовується. Так, на Рис 4.3.а процесу 1 виділений розділ P1, але віртуальний адресний простір процесу менше розміру розділу, простір розділу, що залишився, складає внутрішню дірку.
Зовнішньою діркою називається область реальної пам'яті, яка не розподілена ніякому процесу, але дуже мала, щоб задовольнити запит на пам'ять. На Рис 4.3.б сумарний розмір вільних областей, можливо, перевищує запит, але кожна з цих областей окремо менше запиту, тому всі ці вільні області є зовнішніми дірками.
Для управління пам'яттю формуються ті або інші структури (заголовки), що управляють, які також займають пам'ять. У деяких системах загальний об'єм заголовної пам'яті може бути дуже великим, і в таких випадках слід враховувати також і заголовні дірки - області пам'яті, які містять не використовувану в даний момент інформацію, що управляє. У системах з реальною пам'яттю заголовні дірки практично відсутні.

Рис4.3.
Розділи в реальній пам'яті OS/360