Переміщувані розділи
Одним з методів уникнення фрагментації є переміщення всіх зайнятих ділянок у бік старших або у бік молодших адрес, таким чином, щоб уся вільна пам'ять утворювала єдину вільну область (рис. 14). На додаток до функцій, що виконує ОС при розподілі пам'яті зі змінними розділами, у даному випадку необхідно ще час від часу копіювати вміст розділів з одного місця пам'яті в інше, коректуючи таблиці вільних і зайнятих областей. Ця процедура називається "компресуванням". Компресування може виконуватися або при кожному завершенні задачі, або тоді, коли для нової задачі немає вільного розділу достатнього розміру. У першому випадку потрібно менше обчислювальної роботи при коректуванні таблиць, а в другому – не так часто виконується процедура компресування.
Рис. 14. Розподіл пам'яті переміщуваними розділами Хоча процедура компресування і приводить до більш ефективного використання пам'яті, вона може вимагати значного часу, що часто переважає переваги даного методу. Методи розподілу пам'яті з використанням дискового простору
|