Куча (память): различия между версиями
Patarakin (обсуждение | вклад) Нет описания правки |
Patarakin (обсуждение | вклад) Нет описания правки |
||
| Строка 5: | Строка 5: | ||
== Принцип работы == | == Принцип работы == | ||
При запуске [[Процесс (информатика)|процесса]] ОС выделяет [[Оперативная память|память]] для размещения кучи. В дальнейшем память для кучи (под кучу) может выделяться динамически. | При запуске [[Процесс (информатика)|процесса]] ОС выделяет [[Оперативная память|память]] для размещения кучи. В дальнейшем память для кучи (под кучу) может выделяться динамически. | ||
Для хранения данных о том, какая область кучи является занятой, а какая — свободной, обычно используется дополнительная область памяти. | Для хранения данных о том, какая область кучи является занятой, а какая — свободной, обычно используется дополнительная область памяти. | ||
Текущая версия от 12:02, 19 октября 2022
Ку́ча — название структуры данных, с помощью которой реализована динамически распределяемая память приложения.
Размер кучи — размер памяти, выделенный операционной системой (ОС) для хранения кучи (под кучу).
Принцип работы
При запуске процесса ОС выделяет память для размещения кучи. В дальнейшем память для кучи (под кучу) может выделяться динамически.
Для хранения данных о том, какая область кучи является занятой, а какая — свободной, обычно используется дополнительная область памяти.
Перед началом работы программы выполняется инициализация кучи, в ходе которой память, выделенная под кучу, отмечается как свободная.
Алгоритмы и производительность
Куча представляет собой непрерывную область памяти, поделённую на занятые и свободные области (блоки) различного размера.
Пример реализации
Создание нескольких списков для хранения информации об областях одинаковых или близких размеров. Выбор списка в зависимости от размера области.
