Организация памяти в виде кучи



Управление памятью, организованной в виде “кучи”, дополняет стековое управление.

Куча - это область памяти (блок смежных элементов памяти с последовательными адресами), элементы которой могут выделяться и освобождаться в произвольном, то есть не подчиняющемся какой либо структуре или дисциплине, порядке.

Для кучи становится более сложным решение задач выделения и утилизации памяти. Кроме того, возникают проблемы уплотнения памяти и сбора “мусора”, предотвращения висячих ссылок.

При таком способе управления памятью начальное распределение можно выполнить, переместив указатель кучи (как и для стека), при дополнительном распределении памяти он будет перемещаться только вперед, но для учета освобождаемой памяти и утилизации ее для повторного распределения и использования одного указателя недостаточно. Следовательно, необходимо использовать какой-то другой механизм. Кроме того, при возврате памяти (ее освобождении) появляются проблемы, связанные с тем, что блоки могут освобождаться в произвольном порядке: проблема появления висячих ссылок и проблема “мусора”.

Существует несколько методов управления кучей. Их делят на две категории в зависимости от размеров распределяемых элементов памяти (элементы могут иметь фиксированный или переменный размер).


Дата добавления: 2016-01-05; просмотров: 16; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!