У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


більш простого класу методів.

Рис. 19. Класифікація методів розподілу пам'яті

3.1. Розподіл пам'яті фіксованими розділами

Найпростішим способом керування ОП є поділ її на кілька розділів фіксованої величини. Це може бути виконане вручну оператором під час старту чи системи під час її генерації. Чергова задача, що надійшла на виконання, міститься або в загальну чергу (рис. 20.а), або в чергу до деякого розділу (рис.20.б).

Рис. 20. Розподіл пам'яті фіксованими розділами:

а - із загальною чергою; б - з окремими чергами

Підсистема керування пам'яттю в цьому випадку виконує наступні задачі:

· порівнюючи розмір програми, що надійшла на виконання, і вільних розділів, вибирає придатний розділ,

· здійснює завантаження програми і настроювання адрес.

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

3. 2. Розподіл пам'яті розділами змінної величини

У цьому випадку пам'ять машини не поділяється заздалегідь на розділи. Спочатку вся пам'ять вільна. Кожній знову поступаючій задачі виділяється необхідна їй пам'ять. Якщо достатній обсяг пам'яті відсутній, то задача не приймається на виконання і стоїть в черзі. Після завершення задачі пам'ять звільняється, і на це місце може бути завантажена інша задача. Таким чином, у довільний момент часу ОП являє собою випадкову послідовність зайнятих і вільних ділянок (розділів) довільного розміру. На рис.21 показаний стан пам'яті в різні моменти часу при використанні динамічного розподілу. Так в момент t0 у пам'яті знаходиться тільки ОС, а до моменту t1 пам'ять розподілена між 5 задачами, причому задача П4, завершуючись, залишає пам'ять. На звільнене після задачі П4 місце завантажується задача П6, що надійшла в момент t3.

Рис.21. Розподіл пам'яті динамічними розділами

Задачами ОС при реалізації даного методу керування пам'яттю є:

· ведення таблиць вільних і зайнятих областей, у яких вказуються початкові адреси і розміри ділянок пам'яті;

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Сторінки: 1 2 3 4 5 6 7 8 9 10 11