Основы программирования в Win32API. Марапулец Ю.В. - 44 стр.

UptoLike

Составители: 

0×40100000 – 0×40110000
чтение/запись не наследуется
0×60FD000 – 0×60FE1000
нет доступа не наследуется
Рис .3.5. Дерево дескрипторов виртуальных адресов (VAD)
Намного проще формировать VAD, чем создавать таблицу страниц
и заполнять ее адресами действительных страничных блоков. Кроме того, объ-
ем выделенной памяти не влияет на скорость проведения операции. Резерви-
рование 2 Кб происходит не быстрее, чем выделение 2 Мб: по каждому запро-
су создается один дескриптор. Если поток использует зарезервированную
память, VMM закрепляет за ним страничные блоки, копируя информацию из
дескриптора в новую запись таблицы страниц.
3.3. Интерфейсы API-функций для управления памятью в Windows
Диспетчер управления памятью (VMM) является составной частью ядра
операционной системы. Приложения не могут получить к нему прямой доступ.
Для управления памятью прикладным программам предоставляются различ-
ные интерфейсы (API), представленные на рис. 3.6:
Virtual Memory API – набор функций, позволяющих приложению ра-
ботать с виртуальным адресным пространством: назначать физические стра-
ницы блоку адресов и освобождать их, устанавливать атрибуты защиты;
Memory Mapped File API – набор функций, позволяющих работать
с файлами, отображаемыми в память; новый механизм, предоставляемый
Win32 API для работы с файлами и взаимодействия процессов;
Heap Memory API – набор функций, позволяющих работать с динами-
44
                              0×40100000 – 0×40110000

                          чтение/запись не наследуется




                                                 0×60FD000 – 0×60FE1000

                                             нет доступа      не наследуется




               Рис .3.5. Дерево дескрипторов виртуальных адресов (VAD)

     Намного проще формировать VAD, чем создавать таблицу страниц
и заполнять ее адресами действительных страничных блоков. Кроме того, объ-
ем выделенной памяти не влияет на скорость проведения операции. Резерви-
рование 2 Кб происходит не быстрее, чем выделение 2 Мб: по каждому запро-
су создается один дескриптор. Если поток использует зарезервированную
память, VMM закрепляет за ним страничные блоки, копируя информацию из
дескриптора в новую запись таблицы страниц.



    3.3. Интерфейсы API-функций для управления памятью в Windows

    Диспетчер управления памятью (VMM) является составной частью ядра
операционной системы. Приложения не могут получить к нему прямой доступ.
Для управления памятью прикладным программам предоставляются различ-
ные интерфейсы (API), представленные на рис. 3.6:
    – Virtual Memory API – набор функций, позволяющих приложению ра-
ботать с виртуальным адресным пространством: назначать физические стра-
ницы блоку адресов и освобождать их, устанавливать атрибуты защиты;
    – Memory Mapped File API – набор функций, позволяющих работать
с файлами, отображаемыми в память; новый механизм, предоставляемый
Win32 API для работы с файлами и взаимодействия процессов;
    – Heap Memory API – набор функций, позволяющих работать с динами-

                                      44