Бесплатный список

редактировать
Для получения информации о методе распределения мест в системах партийных списков см. Открытый список § Свободный список.

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

Свободные списки упрощают операции выделения и освобождения. Чтобы освободить регион, достаточно просто связать его со списком бесплатных ресурсов. Чтобы выделить регион, нужно просто удалить один регион из конца свободного списка и использовать его. Если области имеют переменный размер, возможно, придется искать область достаточно большого размера, что может быть дорогостоящим.

Свободные списки имеют недостаток, унаследованный от связанных списков, в виде плохой локализации ссылок и, следовательно, плохого использования кэша данных, и они не объединяют автоматически смежные области для выполнения запросов на выделение для больших регионов, в отличие от системы распределения партнеров. Тем не менее они по-прежнему полезны во множестве простых приложений, где полноценный распределитель памяти не нужен или требует слишком больших накладных расходов.

Среда выполнения OCaml использует списки свободных номеров для удовлетворения запросов на выделение.

Смотрите также
Ссылки
Последняя правка сделана 2023-04-21 05:21:57
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте