Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sam_R_OS.doc
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
5.27 Mб
Скачать

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

Уci методи керування пам'яттю можуть бути поділені на два класи: методи, що використовують переміщення процесів між оперативною пам'яттю i диском та методи, що не виконують цього (малюнок 2.8). Почнемо з останнього, простішого класу методів.

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

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

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

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

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

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

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

Мал. 2.9. Розподіл пам'яті фіксованими розділами: а - із загальною чергою; б - з окремими чергами.

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]