Возможное дублирование:
почему Windows показывает только около 3,5 ГБ моего 4 ГБ + ОЗУ?
Может ли 32-битная ОС использовать все 8 ГБ ОЗУ + 20 ГБ файла подкачки?
Как видно из этой таблицы , все версии x86 Win 7 max выходят по 4 Гб.
Есть ли техническая причина для этого или это просто маркетинговая стратегия, чтобы заставить людей покупать более дорогую ОС?
Ответы:
Похоже, что в отрасли существует большая путаница в отношении того, что обычно называют «пределом памяти в 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 ГБ физической памяти. Отображение обычно применяется по-разному для каждого процесса. Таким образом, дополнительная память полезна, хотя ни одно обычное приложение не может получить доступ ко всем этим одновременно.
источник
И да и нет.
Собственно, 32-разрядный процессор может обрабатывать только
4 GiB
ОЗУ, поскольку существуют только2 ^ 32 = 4,294,967,296
разные числа, которые можно представить с помощью 32-разрядных.Всякий раз, когда вы сохраняете что-то в памяти, вам нужно сохранить адрес, чтобы иметь возможность читать или манипулировать им. Обычно ЦП использует только один регистр (размером 32 бита) для хранения этого адреса. Поскольку существуют только
2 ^ 32
разные адреса, все, что превышает4 GiB
отметку, остается неиспользованным.Однако существуют методы, такие как расширение физических адресов (PAE), которые позволяют 32-разрядной ОС адресовать больше, чем
4 GiB
ОЗУ.Значительно упрощая процесс, ОС отображает каждый процесс в определенной части памяти (называемой таблицей страниц). Каждый процесс все еще ограничен
4 GiB
, но это позволяет ОС адресовать гораздо больше памяти, чем только4 GiB
.Например, 32-разрядная версия Windows Server 2003 Datacenter Edition поддерживает до
64 GiB
оперативной памяти.источник