Windows для профессионалов

       

показана карта адресного пространства


В таблице 1 3- 4 показана карта адресного пространства при выполнении все той же программы VMMap, но уже под управлением Windows 98. Для экономии места диапазон виртуальных адресов между 0x80018000 и 0x85620000 не приведен.



Базовый адрес Тип Размер Блоки Атрибут(ы) защиты Описание
00000000 Free 4194304
00400000 Private 131072 6 ---- C:\CD\X86\DEBUG\14_VMMAP.EXE
00400000 Private 8192 -R-- ---
00402000 Private 8192 -RW- ---
00404000 Private 73728 -R-- ---
00416000 Private 8192 -RW- ---
00418000 Private 8192 -R-- ---
0041А000 Reserve 24576
00420000 Private 1114112 4 -
00420000 Private 20480 -RW- ---
00425000 Reserve 1028096 -
00520000 Private 4096 -RW- ---
00521000 Reserve 61440
00530000 Private 65536 2 -RW- ---
00530000 Private 4096 -RW- ---
00531000 Reserve 61440 -RW- ---
00540000 Private 1179648 6 Стек потока
00540000 Reserve 942080 --
00626000 Private 4096 -RW- ---
00627000 Reserve 24576 -- -
00620000 Private 4096 — --
0062Е000 Private 139261 -RW- ---
00650000 Reserve 65536
00660000 Private 1114112 4 - _
00660000 Private 20480 -RW- ---
00665000 Reserve 1028096 --- --
00760000 Private 4096 -RW- ---
00761000 Reserve 61440
00770000 Private 10485/6 2 -RW- ---
00770000 Private 32768 -RW- ---
00778000 Reserve 1015808 -RW- ---
00870000 Free 2004418560
78000000 Private 262144 3 ---- С \WINDOWS\SYSTEM\MSVCRT.DLL
78000000 Private 188416 -R-- ---
7802E000 Private 57344 -RW- ---
7803С000 Private 16384 -R-- -
78040000 Free 133955584
80000000 Private 4096 1 ---
80000000 Reserve 4096 -- ---
80001000 Private 4096 1
80001000 Private 4096 -RW- ---
80002000 Private 4096 1 ----
80002000 Private 4096 -RW- ---
80003000 Private 4096 1
80003000 Private 4096 -RW- ---
80004000 Private 65536 2
80004000 Private 32768 -RW- ---
8000С000 Reserve 32768 ---- ---
80014000 Private 4096 1
80014000 Private 4096 -RW- ---
80015000 Private 4096 1 ----
80015000 Private 4096 -RW- ---
80016000 Private 4096 1 ----
80016000 Private 4096 -RW- ---
80017000 Private 4096 1
80017000 Private 4096 -RW- ---
85620000 Free 9773056
85F72000 Private 151552 1 ----
8bF72000 Private 151552 -RW- ---
85F97000 Private 327680 1 ----
85F97000 Private 327680 -RW- ---
85FE7000 Free 22052864
874EF000 Private 4194304 1 ----
874EF000 Reserve 4194304
878EF000 Free 679219200
B00B0000 Private 880640 3
B00B0000 Private 233472 -RW- ---
В00Е9000 Private 20480 -RW- ---
В00ЕЕ000 Private 626688 -R- ---
В0187000 Free 177311744
ВААА0000 Private 315392 7 ----
ВАAА0000 Private 4096 -R- ---
ВААA1000 Private 4096 -RW- ---
ВАAА2000 Private 241664 -R- ---
BAADD000 Private 4096 -RW- ---
BAADE000 Private 4096 -R- ---
BAAOF000 Private 32788 -RW- ---
ВААЕ7000 Private 24576 -R- ---
BAAED000 Free 86978560
BFDE0000 Private 20480 1
BFOE0000 Private 20480 -R- ---
BFDE5000 Free 45056
BFDF0000 Private 65536 3 ----
BFDF0000 Private 40960 -R- ---
BFDFA000 Private 4096 -RW- ---
BFDFB000 Private 20480 -R- ---
BFE00000 Free 131072
BFE20000 Private 16384 3 ---
BFE20000 Private 8192 -R- ---
BFE22000 Private 4096 -RW- ---
BFE23000 Private 4096 -R- ---
BFE24000 Free 245760
BFE60000 Private 24576 3 ----
BFE60000 Private 8192 -R-- ---
BFE62000 Private 4096 -RW- ---
BFE63000 Private 12288 -R-- ---
BFE66000 Free 40960
BFE70000 Private 24I376 3 ----
BFE70000 Private 8192 -R-- ---
BFE72000 Private 4096 -RW- ---
BFE73000 Private 12288 -R-- ---
BFE76000 Free 40960
BFE80000 Private 65536 3 ---- С:\WINDOWS\SYSTEM\ADVAPI32.DLL
BFE80000 Private 49152 -R-- ---
BFE8C000 Private 4096 -RW- ——
BFE8D000 Private 12288 -R-- ---
BFE90000 Private 573440 3
BFE90000 Private 425984 -R-- ---
BFEF8000 Private 4096 -RW- ---
BFEF9000 Private 143360 -R-- ---
BFF1C000 Free 16384
BFF20000 Private 155648 5 ---- С:\WINDOWS\SYSTEM\GDI32.DLL
BFF20000 Private 126976 -R-- ---
BFF3F000 Private 8192 -RW- ---
BFF41000 Private 4096 -R-- ---
BFF42000 Private 1096 -RW- ---
BFF43000 Private 12288 -R-- ---
BFF46000 Free 40960
BFF50000 Private 69632 3 С:\WINDOWS\SYSTEM\USER32.DLL
BFF50000 Private 53248 -R-- ---
BFF5D000 Private 4096 -RW- —
BFF5E000 Private 12288 -R-- ---
BFF61000 Free 61440
BFF70000 Private 585728 5 ---- С:\WINDOWS\SYSTEM\KERNEL32.DLL
BFF70000 Private 352256 -R-- ---
BFFC6000 Reserve 12288 ---- --
BFFC9000 Private 16384 -RW- ---
BFFCD000 Private 90112 -R-- ---
BFFE3000 Reserve 114688 ---- ---
BFFFF000 Free 4006
<
Таблица 13-4. Образец карты адресного пространства процесса (с указанием блоков внутри регионов) в Windows 98

Главное отличие двух карт адресного пространства в том, что под управлением Windows 98 информации получзешь значительно меньше Например, о регионах и блоках можно узнать лишь, свободные они, резервные или закрытые Распознать тип физической памяти Mapped или Image нельзя, Windows 98 не позволяет получить дополнительную информацию, по которой можно было бы судить, что с регионом связан проецируемый в память файл или образ исполняемого файла.

Наверное, Вы заметили, что размер большинства регионов кратен 64 Кб (это значение определяется гранулярностью выделения памяти) Если размеры блоков, составляющих регион, не дают в сумме величины, кратной 64 Кб, то в конце региона часто появляется резервный блок адресного пространства. Его размер выбирается системой так, чтобы довести общий объем региона до величины, кратной 64 Кб Например, регион, который начинается с ядреса 0x00530000, включает в себя два блока: четырехкилобайтовый блок переданной памяти и резервный блок, занимающий 60 Кб адресного пространства.

Заметьте также, что на последней карте не встречаются атрибуты защиты, разрешающие исполнение или копирование при записи, поcкoлькy Windowы 98 не поддерживает их. Кроме того, она не поддерживает и флаги атрибутов защиты (PAGE_GUARD, PAGE_WRITECOMBINE и PAGE_NOCACHE) Из-за этого программе VMMap приходится использовать более сложный метод, чтобы опредслить, не выделен ли данный регион под стек потока.

И последнее. В Windows 98 (в отличие от Windows 2000) можно исследовать регион адресного пространства 0x80000000-0xBFFFFFFF. Это раздел, в котором находится адресное пространство, общее для всех 32-разрядных приложений По карте видно, что в него загружены четыре системные DLL., и поэтому они доступны любому процессу


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