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