Похоже, что в отрасли существует большая путаница в отношении того, что обычно называют «пределом памяти в 4 ГБ» в Windows. Говоря о настройке производительности и размерах серверов, люди быстро отмечают тот факт, что приложение в 32-разрядной системе Windows может доступ только к 4 ГБ памяти. Но что именно это значит?
По определению 32-битный процессор использует 32 бита для ссылки на местоположение каждого байта памяти. 2 ^ 32 = 4,2 миллиарда, что означает, что адрес памяти длиной 32 бита может ссылаться только на 4,2 миллиарда уникальных местоположений (то есть 4 ГБ).
В 32-битном мире Windows каждое приложение имеет свое собственное «виртуальное» пространство памяти 4 ГБ. (Это означает, что каждое приложение функционирует так, как если бы оно имело плоские 4 ГБ памяти, а диспетчер памяти системы отслеживает отображение памяти, какие приложения используют какую память, управление файлами подкачки и т. Д.)
Это пространство 4 ГБ равномерно разделено на две части: 2 ГБ выделено для использования в ядре и 2 ГБ оставлено для использования в приложении. Каждое приложение получает свои 2 ГБ, но все приложения должны использовать одно и то же 2 ГБ пространства ядра.
ИСТОЧНИК: http://www.brianmadden.com/blogs/brianmadden/archive/2004/02/19/the-4gb-windows-memory-limit-what-does-it-really-mean.aspx
[Редактировать RE: PAE]
Аппаратная архитектура процессора x86 дополнена дополнительными адресными строками, используемыми для выбора дополнительной памяти, поэтому размер физического адреса увеличивается с 32 до 36 бит. Это теоретически увеличивает максимальный объем физической памяти с 4 до 64 ГБ. 32-разрядный размер виртуального адреса не изменяется, поэтому обычное прикладное программное обеспечение продолжает использовать инструкции с 32-разрядными адресами и (в модели с плоской памятью) ограничено 4 гигабайтами виртуального адресного пространства. Операционная система использует таблицы страниц для сопоставления этого 4-ГБ адресного пространства с 64 ГБ физической памяти. Отображение обычно применяется по-разному для каждого процесса. Таким образом, дополнительная память полезна, хотя ни одно обычное приложение не может получить доступ ко всем этим одновременно.