Класифікація розподілів пам’яті без використання дискового простору.

Матеріал з Вікі ЦДУ
Версія від 12:07, 9 січня 2012; Artemko (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

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

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

INCLUDEPICTURE "F:\\..\\..\\ipsa\\OS\\Управление памятью.files\\img00013.gif" \* MERGEFORMAT Рис. 19. Класифікація методів розподілу пам'яті

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

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

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

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

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

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

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


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

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

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

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