Вот полезное чтиво — По поводу WinXP и 4ГБ оперативки
Если немного углубиться в историю, то возможность использования 4 и более ГБ оперативной памяти в 32х разрядных системах появилась задолго до выхода WinXP еще в 1995 году с выходом процессора Intel Pentium Pro с поддержкой технологии PAE — Physical Address Extension. Что же означает эта загадочная аббревиатура? Если вкратце, то данная технология позволяет процессору работать не с 32-битной, а с 36-битной адресацией, теоретически расширяя доступные ему адреса до 2^36 = 68719476736 байт (64 Гб). При этом само адресное пространство остается 32-битным, то есть равным 4 Гб, но за счет измененного отображения на него физической памяти становится возможным использование куда большего ее объема.
Разумеется, поддержка PAE имеется и в Windows. Проблема в том, что не всегда технология включена по умолчанию — для ее использования должна загружаться специальная версия ядра.
Если Ваш процессор поддерживает аппаратную антивирусную защиту NX-bit, то, вполне вероятно, что PAE в системе уже включена. Дело в том, что поддержка NX-bit со стороны Windows может работать только при включении данной опции, причем Windows XP SP2 и 2003 Server SP1 в большинстве случаев сами определяют наличие этого бита и устанавливают, какое ядро необходимо загружать. Если же PAE отключена (об этом можно узнать в окне «Свойства системы» или же с помощью утилит вроде Everest), то ее необходимо активировать.
Теперь о плохом: даже если Windows определит всю доступную память, пользу это принесет, в лучшем случае, Вашему самолюбию. Причина в том, что область памяти за пределами 4 Гб в 32-битной среде может быть доступна только приложениям, написанным с использованием интерфейса AWE (Address Windowing Extension). Проще говоря, если PAE — это поддержка большого объема памяти со стороны железа и операционки, то AWE — это ее поддержка со стороны софта. И вся проблема в том, что такой поддержкой обладает разве что софт, оперирующий огромными объемами данных — к примеру, СУБД или программы, выполняющие сложные научные расчеты. Играм или офисному софту это попросту не нужно, соответственно, и прироста производительности в них не будет. А вот какой-нибудь Microsoft SQL Server получит очень даже ощутимую пользу!
Самое интересное, что наиболее популярная ОС от Microsoft WinXP хуже всего оснащена поддержкой большого количества памяти. Если не сказать большего — вообще не оснащена. А обиднее всего, что так было не всегда, а лишь до появления пакета обновлений Service Pack 2 — именно в нем возможности PAE были значительно урезаны. Если быть точнее, то во избежание конфликтов доступное адресное пространство было ужато с 36 бит до стандартных 32 бит, а сама PAE стала использоваться разве что для поддержки NX-бита. В результате это приводит к забавным казусам — при включении опции «Memory Remap Feature» BIOS начинает видеть больше памяти, а Windows, наоборот, меньше! К примеру, если до включения опции BIOS определял 3.5 Гб, то после он видит уже 4 Гб, в то время как в Windows определяется всего 3 Гб! А дело все в том, что Memory Remap Feature переносит память за пределы четырех гигабайт блоками по гигабайту. То есть если после выделения памяти под железо BIOS определял 3.5 Гб, то после «выноса» этой памяти за пределы адресного пространства остается всего 3 Гб. Соответственно, если первоначально было видно, к примеру, 2.8 Гб, то «передислоцировалось» уже 2 Гб, и столько же оставалось Windows, которая без нормальной поддержки PAE попросту не могла видеть то, что находилось за пределами ее восприятия.
Отсюда неутешительный вывод: Memory Remap Feature для Windows XP SP2 применять бесполезно — это принесет лишь вред. Только два варианта могут заставить XP видеть 4 Гб памяти — использование версии Service Pack 1 (на что вряд ли кто-то пойдет), либо же установка 64-битной версии операционки.