RTX – расширение реального времени для Windows NT

Выделение системной памяти


Часто процессу требуется выделить дополнительную память. Функции выделения памяти, существующие в RTX, всегда выделяют блокированную (locked) память, исключая, таким образом, задержки, связанные с ошибками страниц (page faults).

API выделения памяти

Следующие функции служат для доступа к системе выделения памяти RTX:

RtAllocateLockedMemory – выделяет блокированную память, которой соответствует физическая память, затем проецирует память в виртуальное адресное пространство процесса.

RtFreeLockedMemory – высвобождает предварительно выделенный блокированный участок памяти.

Замечания по выделению памяти

Блокированная память всегда выделяется из non-paged пула памяти Windows NT. Этот пул памяти сравнительно мал и вскоре после загрузки системы становится фрагментированным в результате выделения памяти драйверам и другим подсистемам Windows NT. Чтобы избежать неудач при попытках выделить большой участок памяти, надо делать это сразу после загрузки и/или вообще минимизировать такие выделения.

В данном

демонстрируется использование функций выделения блокированной памяти.



Содержание раздела