Выделение системной памяти
Часто процессу требуется выделить дополнительную память. Функции выделения памяти, существующие в RTX, всегда выделяют блокированную (locked) память, исключая, таким образом, задержки, связанные с ошибками страниц (page faults).
API выделения памяти
Следующие функции служат для доступа к системе выделения памяти RTX:
RtAllocateLockedMemory – выделяет блокированную память, которой соответствует физическая память, затем проецирует память в виртуальное адресное пространство процесса.
RtFreeLockedMemory – высвобождает предварительно выделенный блокированный участок памяти.
Замечания по выделению памяти
Блокированная память всегда выделяется из non-paged пула памяти Windows NT. Этот пул памяти сравнительно мал и вскоре после загрузки системы становится фрагментированным в результате выделения памяти драйверам и другим подсистемам Windows NT. Чтобы избежать неудач при попытках выделить большой участок памяти, надо делать это сразу после загрузки и/или вообще минимизировать такие выделения.
В данном
демонстрируется использование функций выделения блокированной памяти.