Организация памяти в виде кучи
Управление памятью, организованной в виде “кучи”, дополняет стековое управление.
Куча - это область памяти (блок смежных элементов памяти с последовательными адресами), элементы которой могут выделяться и освобождаться в произвольном, то есть не подчиняющемся какой либо структуре или дисциплине, порядке.
Для кучи становится более сложным решение задач выделения и утилизации памяти. Кроме того, возникают проблемы уплотнения памяти и сбора “мусора”, предотвращения висячих ссылок.
При таком способе управления памятью начальное распределение можно выполнить, переместив указатель кучи (как и для стека), при дополнительном распределении памяти он будет перемещаться только вперед, но для учета освобождаемой памяти и утилизации ее для повторного распределения и использования одного указателя недостаточно. Следовательно, необходимо использовать какой-то другой механизм. Кроме того, при возврате памяти (ее освобождении) появляются проблемы, связанные с тем, что блоки могут освобождаться в произвольном порядке: проблема появления висячих ссылок и проблема “мусора”.
Существует несколько методов управления кучей. Их делят на две категории в зависимости от размеров распределяемых элементов памяти (элементы могут иметь фиксированный или переменный размер).
Дата добавления: 2016-01-05; просмотров: 16; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!