Страницы

Поиск по вопросам

суббота, 7 марта 2020 г.

Зачем windows позволяет создавать приватные кучи?

#winapi #memory #memory_management


Каждый процесс в ОС Windows имеет по умолчанию свою кучу, размер которой в будущем
может быть изменен. Более того, каждый процесс способен так же создавать кучу с определенным,
наперед заданным начальным и максимальным размером (такая куча будет называться приватной).
Зачем такая возможность существует в Windows? Чтобы оптимизировать реаллокации? Но
тогда не достаточно ли в таком случае использования обычной кучи по умолчанию?
    


Ответы

Ответ 1



При создании кучи можно задавать наличие следующих параметров: HEAP_CREATE_ENABLE_EXECUTE — разместить кучу на страницах с правом на исполнение. Подобное можно использовать для JIT-компиляции небольших фрагментов кода, когда выделение целой 4КБ страницы на фрагмент было бы излишним. HEAP_GENERATE_EXCEPTIONS — выбрасывать SEH-исключения из функций управления кучей. HEAP_NO_SERIALIZE — разменять поддержку многоточности на скорость выделения/высвобождения блоков кучи. В куче по умолчанию ничего из вышеперечисленного не включено.

Комментариев нет:

Отправить комментарий