Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows


Как адресное пространство разбивается на разделы


Виртуальное адресное пространство каждого процесса разбивается на разделы. Их размер и назначение в какой-то мере зависят от конкретного ядра Windows (таблица 13-1)

Как видите, ядра 32- и 64-разрядной Windows 2000 создают разделы, почти одинаковые по назначению, но отличающиеся по размеру и расположению. Однако ядро Windows 98 формирует другие разделы. Давайте рассмотрим, как система использует каждый из этих разделов.

Раздел

32-разрядная Windows 2000 (на х86 и Alpha)

32-разрядная Windows 2000 (на х86 с ключом /3GB)

64-разрядная Windows 2000 (на Alpha и А-64)

Windows 98

Для выявления

0x00000000

0x00000000

0x00000000 00000000

0x00000000

нулевых указателей

0x0000FFFF

0x0000FFFF

0x00000000 0000FFFF

0x00000FFF

Для совместимости с программами DOS и 16-разрядной Windows

Hет

Нет

Нет

0x00001000 0x003FFFFF

Для кода и данных

0x00010000

0x00010000

0x00000000 00010000

0x00400000

пол ьзовател ьс кого режима

0x7FFEFFFF

0xBFFFFFFF

0x000003FF FFFEFFFF

0x7FFFFFFF

Закрытый,

0x7FFF0000

0xBFFF0000

0x000003FF FFFF0000

Нет

размером 64 Кб

0x7FFFFFFF

0xBFFFFFFF

0x000003FF FFFFFFFF

Для общих MMF (файлов, проецируемых в память)

Нет

Нет

Нет

0x80000000 0xBFFFFFFF

Для кода и данных

0x800000000

0xC0000000

0x00000400 00000000

0xC0000000

режима ядра

0xFFFFFFFF

0xFFFFFFFF

0xFFFFFFFF FFFFFFFF

0xFFFFFFFF

Таблица 13-1. Так адресное пространство процесса разбивается на разделы

NOTE:
Microsoft активно работает над 64-разрядной Windows 2000. На момент напиcания книги эта система все еще находилась в разработке. Информацию по 64разрядной Windows 2000 следует учитывать при проектировании и реализации текущих проектов Однако Вы должны понимать, что какие-то детали скорее всего изменятся к моменту выхода 64-разрядной Windows 2000. То же самое относится и к конкретным диапазонам разделов виртуального адресного пространства и размеру страниц памяти на процессорах IA-64 (64-разрядной архитектуры Intel).




Начало  Назад  Вперед