Есть ли техническая причина, почему 32-битная windows ограничена 4 ГБ оперативной памяти? [дубликат]


Возможные Дубликаты:

Почему Windows показывает только около 3,5 ГБ моей 4 ГБ+ оперативной памяти?

может ли 32-разрядная ОС использовать все 8 ГБ оперативной памяти + 20 ГБ файла подкачки?

Как вы можете видеть в в этой таблице, все версии x86 Win 7 max на 4 ГБ.

есть ли техническая причина для этого или это просто маркетинговая стратегия, чтобы заставить людей покупать более дорогие ОС?

26
задан Community
02.12.2022 4:53 Количество просмотров материала 3234
Распечатать страницу

2 ответа

там, кажется, много путаницы в отрасли о том, что обычно называют Windows "4 ГБ памяти предел."Когда речь идет о настройке производительности и размерах сервера, люди быстро упоминают тот факт, что приложение на 32-разрядной системе Windows может получить доступ только к 4 ГБ памяти. Но что именно это означает?

по определению, 32-разрядный процессор использует 32 бита для ссылки на расположение каждого байта памяти. 2^32 = 4,2 миллиарда, что означает адрес памяти, который 32 бита длиной могут относиться только к 4.2 миллиардам уникальных местоположений (т. е. 4 ГБ).

в 32-разрядном мире Windows, каждое приложение имеет свой собственный "виртуальный" 4 ГБ памяти. (Это означает, что каждое приложение функционирует так, как будто оно имеет плоский 4 ГБ памяти, и менеджер памяти системы отслеживает отображение памяти, какие приложения используют память, управление файлами страниц и так далее.)

Это пространство 4 ГБ равномерно разделено на две части, 2 ГБ выделено для использования ядра, и 2 ГБ осталось для использования приложения. Каждое приложение получает свой собственный 2GB, но все приложения должны совместно использовать то же самое пространство ядра 2GB.

источник: http://www.brianmadden.com/blogs/brianmadden/archive/2004/02/19/the-4gb-windows-memory-limit-what-does-it-really-mean.aspx

[Edit RE: PAE]

процессор x86-аппаратной архитектуры дополнен адресных линий для выбора дополнительной памяти, поэтому физические адреса размер увеличивается с 32 бит до 36 бит. Это теоретически увеличивает максимальный объем физической памяти с 4 ГБ до 64 ГБ. 32-разрядный размер виртуального адреса не изменяется, поэтому регулярное прикладное программное обеспечение продолжает использовать инструкции с 32-разрядными адресами и (в плоской модели памяти) ограничено 4 гигабайтами виртуального адресного пространства. Операционная система использует таблицы страниц для сопоставления этого 4 ГБ адресного пространства в 64 ГБ физической памяти. Сопоставление обычно применяется по-разному для каждого процесс. Таким образом, дополнительная память полезна, даже если ни одно обычное приложение не может получить к ней доступ одновременно.

11
отвечен kobaltz 2022-12-03 12:41

да и нет.

изначально 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 2003 Датацентр Edition, например, поддерживает до 64 GiB оперативной памяти.

7
отвечен Dennis 2022-12-03 14:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх