Наверх Системное программирование
Предыдущий раздел Оглавление Следующий раздел

4.6.1. Реализация чистой сегментации

Рис

Рис. 4.11. Физическая память: а — г — нарастание
внешней фрагментации; д — избавление от
внешней фрагментации за счет уплотнения

Реализация сегментации существенным образом отличается от реализации страничной организации памяти: страницы имеют фиксированный размер, а сегменты его не имеют. На рис. 4.11, а показан пример физической памяти, изначально имеющей пять сегментов. Теперь рассмотрим, что получится, если сегмент 1 удаляется, а на его место помещается меньший по размеру сегмент 7. У нас получится конфигурация памяти, показанная на рис. 4.11, б. Между сегментами 7 и 2 будет неиспользуемая область, то есть дыра. Затем сегмент 4 заменяется сегментом 5 (рис. 4.11, в), а сегмент 3 — сегментом 6 (рис. 4.11, г).

После того как система какое-то время поработает, память разделится на несколько участков, часть из которых будут содержать сегменты, а часть — дыры. Это явление, названное явлением шахматной доски, или внешней фрагментацией, приводит к пустой трате памяти на дыры. С ним можно справиться за счет уплотнения (рис. 4.11, д).

Предыдущий раздел Оглавление Следующий раздел