Распределение памяти в Windows 9X и NTВ Windows 9X и NT распределение памяти сложнее. Каждая 32-битовая прикладная программа «живет» в своем личном адресном пространстве. Адресное пространство в этих операционных системах довольно четко разбито на две равные по размеру области: нижние 2 Гб выделяются прикладной программе, а верхние адреса отданы системным компонентам. Самые младшие адреса памяти запрещены для записи. Прикладные программы, созданные неопытными программистами и обращающиеся к своим переменным по неинициализированным указателям, с высокой вероятностью попадут именно на эти регионы памяти, что вызовет исключение и позволит автору обнаружить и исправить ошибку. На этом, собственно говоря, все сходство в распределении адресных пространств Windows 9X и NT заканчивается, теперь начинаются различия. Windows 9X запускается в два этапа: сначала системный загрузчик выполняет в точности те же действия, что и при запуске Windows 3.X, а именно загружает и конфигурирует MS-DOS. На этом этапе можно прервать процесс загрузки и получить в свое распоряжение ПЭВМ, работающую под управлением операционной системы MS-DOS 7.X. Но если этого не делать, то процесс загрузки продолжается: автоматически запускаемая программа «WIN. COM» предварительно кардинально реорганизует оперативную память, систему прерываний, организует необходимые для защищенного режима системные таблицы, загружает в память базовые компоненты Windows и, наконец, «с чистой совестью» передает управление одному из таких компонентов — менеджеру виртуальных машин «VMM32.VXD». Переключение процессора из реального режима в защищенный, выполняемое этим менеджером сразу после получения управления, соответствует началу работы Windows. В результате первые 4 Мб памяти остаются распределенными по законам реального режима, но практически не используются. Эта память разделяется всеми виртуальными адресными пространствами. Запускаемое 32-разрядное приложение Windows загружается в регион адресов 00400000h — 7FFFFFFFh. Выше, с адреса 80000000h, начинаются «системные» области памяти:

Еще интересные статьи :

Распределение памяти в Windows 9X и NT
Распределение памяти в Windows 9X и NT
Распределение памяти в Windows 9X и NT
Распределение памяти в Windows 9X и NT