Реферат: Планування ресурсу Оперативна память

· завантаження задачі у виділений їй розділ і коректування таблиць вільних і зайнятих областей;

· після завершення задачі коректування таблиць вільних і зайнятих областей.

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

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

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

3. 3. Розподіл пам'яті переміщуваними розділами

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

Рис. 2 2 . Розподіл пам'яті переміщуваними розділами

Хоча процедура стиску і приводить до більш ефективного використання пам'яті, вона може вимагати значного часу, що часто переважує переваги даного методу.

4. Методи розподілу пам'яті з використанням дискового простору .

4.1. Поняття віртуальної пам'яті.

Уже досить давно користувачі зустрічалися з проблемою розміщення в пам'яті програм, розмір яких перевищував наявну вільну пам'ять. Рішенням було розбиття програми на частині, які називаються оверлеями . Нульовий оверлей починав виконуватися першим. Коли він закінчував своє виконання, він викликав інший оверлей. Всі оверлеї зберігалися на диску і переміщувались між пам'яттю і диском засобами ОС. Однак розбивка програми на частини і планування їхнього завантаження в ОП повинен був здійснювати програміст.

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

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

Для цього ВП вирішує наступні задачі:

- розміщує дані в ЗП різного типу, наприклад, частина програми в ОП, а частина на диску;

- переміщує по мірі необхідності дані між ЗП різного типу, наприклад, завантажує потрібну частину програми з диска в ОП;

- перетворює ВА у фізичні.

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

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

4.2. Сторінковий розподіл

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

Вся ОП машини також поділяється на частині такого ж розміру, називані фізичними сторінками (чи блоками).

Розмір сторінки звичайно вибирається рівним ступеня двійки: 512, 1024 і т.д., це дозволяє спростити механізм перетворення адрес.

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

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

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

У даній ситуації може бути використано багато різних критеріїв вибору, найбільш популярні з них наступні:

· довше всього не використовувалася сторінка,

К-во Просмотров: 215
Бесплатно скачать Реферат: Планування ресурсу Оперативна память