Переміщувані розділи;

Матеріал з Вікі ЦДУ
Версія від 20:22, 10 травня 2011; Федорова Ірина (обговореннявнесок)

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

Одним з методів боротьби з фрагментацією є переміщення всіх зайнятих ділянок убік старших або убік молодших адрес, так, щоб уся вільна пам'ять утворювала єдину вільну область (мал). A.jpg

На додаток до функцій, що виконує ОС при розподілі памяті перемінними розділами, у даному випадку вона повинна ще час від часу копіювати вміст розділів з одного місця памяті в інше, коректуючи таблиці вільних і зайнятих областей. Ця процедура називається «стиском». Стиск може виконуватися або при кожнім завершенні задачі, або тільки тоді, коли для знову надійшовшої задачі немає вільного розділу достатнього розміру. У першому випадку потрібно менше обчислювальної роботи при коректуванні таблиць, а в другому - рідше виконується процедура стиску. Оскільки програми переміщаються по оперативній пам’яті в ході свого виконання, то перетворення адрес з віртуальної форми у фізичну повинно виконуватися динамічним способом.

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