![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В принципі, система свопінгу може базуватися на фіксованих розділах. Ефективнішою, проте, представляється схема динамічного розподілу або схема із змінними розділами, яка може використовуватися і в тих випадках, коли всі процеси цілком поміщаються в пам'яті, тобто у відсутність свопінгу. В цьому випадку спочатку вся пам'ять вільна і не розділена заздалегідь на розділи. Завданню, що знов поступає, виділяється строго необхідна кількість пам'яті, не більш. Після вивантаження процесу пам'ять тимчасово звільняється. Після закінчення деякого часу пам'яттю є змінне число розділів різного розміру (мал. 8.6). Суміжні вільні ділянки можуть бути об'єднані.
Рис. 10.1. Динаміка розподілу пам'яті між процесами (сірим кольором показана невживана пам'ять)
У який розділ поміщати процес? Найбільш поширено три стратегії.
Стратегія першого відповідного (First fit). Процес поміщається в перший відповідний за розміром розділ.
Стратегія найбільш відповідного (Best fit). Процес поміщається в той розділ, де після його завантаження залишиться менше всього вільного місця.
Стратегія найменш відповідного (Worst fit). При приміщенні в найбільший розділ в нім залишається достатньо місця для можливого розміщення ще одного процесу.
Моделювання показало, що частка корисно використовуваної пам'яті по-перше двох випадках більше, при цьому перший спосіб декілька швидше. Попутно відмітимо, що перераховані стратегії широко застосовуються і іншими компонентами ОС, наприклад для розміщення файлів на диску.
Типовий цикл роботи менеджера пам'яті полягає в аналізі запиту на виділення вільної ділянки (розділу), виборі його серед тих, що є відповідно до однієї із стратегій (першого відповідного, найбільш відповідного і найменш відповідного), завантаженні процесу у вибраний розділ і подальших змінах таблиць вільних і зайнятих областей. Аналогічне коректування необхідне і після завершення процесу. Скріплення адрес може здійснюватися на етапах завантаження і виконання.
Цей метод гнучкіший в порівнянні з методом фіксованих розділів, проте йому властива зовнішня фрагментація – наявність великого числа ділянок невживаної пам'яті, не виділеної жодному процесу. Вибір стратегії розміщення процесу між першим відповідним і найбільш відповідним слабо впливає на величину фрагментації. Цікаво, що метод найбільш відповідного може виявитися найгіршим, оскільки він залишає безліч дрібних незайнятих блоків.
Статистичний аналіз показує, що пропадає в середньому 1/3 пам'яті! Це відоме правило 50% (дві сусідні вільні ділянки на відміну від двох сусідніх процесів можуть бути об'єднані).
Одне з вирішень проблеми зовнішньої фрагментації – організувати стискування, тобто переміщення всіх зайнятих (вільних) ділянок у бік зростання (убування) адрес, так, щоб вся вільна пам'ять утворила безперервну область. Цей метод іноді називають схемою з переміщуваними розділами. У ідеалі фрагментація після стискування має бути відсутньою. Стискування, проте, є дорогою процедурою, алгоритм вибору оптимальної стратегії стискування дуже важкий і, як правило, стискування здійснюється в комбінації з вивантаженням і завантаженням по інших адресах.
Дата публикования: 2014-11-04; Прочитано: 806 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!