Что происходит при установке> 4 ГБ ОЗУ на компьютер с 32-разрядной ОС?

2236
Peter Turner

Так что я программист, и я не полный идиот, поэтому я точно знаю, почему вы не можете получить доступ к памяти, где у вас нет указателей. Но я никогда не пробовал это, и я не думаю, что когда-либо буду, потому что это кажется большой тратой денег / времени.

Мне просто интересно, есть ли какие-нибудь инструменты, которые позволили бы мне получить доступ к моему himem (Вы могли бы подумать, что мы уже обошли эту проблему).

10
Проверьте этот альтернативный способ формулировки того же вопроса: http://superuser.com/questions/7964/where-did-the-other-8-gb-of-ram-go therefromhere 15 лет назад 0
Спасибо, вот и хороший ответ, возможно, мне просто придется закрыть этот вопрос. http://serverfault.com/questions/3342/how-does-a-32-bit-machine-support-more-than-4gb-of-ram Peter Turner 15 лет назад 0

5 ответов на вопрос

20
Mike McQuaid

Если у вас есть процессор с расширением физического адреса (что вы, вероятно, делаете) и правильная ОС ( например, не потребительская версия Windows, он использует PAE, но ограничен 4 ГБ ), тогда память можно отобразить и использовать как обычно. В противном случае память просто не будет адресована, операционная система скажет вам, что у вас есть сколько угодно больших микросхем, но они просто не будут добавлены к объему памяти, к которому вы можете получить доступ.

Почему обычные версии Windows не поддерживают PAE? Еще одна причина использовать Linux ... Zifre 15 лет назад 3
Потому что 64-битные / серверные версии стоят дороже. Martin Beckett 15 лет назад 1
Даже потребительские версии Windows поддерживают PAE - хотя они ограничены 4 ГБ (по соображениям совместимости и маркетинга). (PAE по-прежнему используется для функции «Предотвращение выполнения данных».) grawity 15 лет назад 2
@Zifre, многие ориентированные на потребителя драйверы не могут справиться с PAE и> 4 ГБ ОЗУ в Windows. Таким образом, включение PAE часто приводит к таинственным сбоям, и поэтому оно используется только для серверных выпусков, где, по-видимому, вы будете устанавливать драйверы более высокого качества, рассчитанные на большие объемы памяти. bdonlan 15 лет назад 3
bdonlan: PAE также включен в потребительских версиях, из-за этого у них просто искусственный лимит в 4 ГБ. grawity 15 лет назад 0
1
mandroid

Все будет хорошо работать, так как 4 ГБ - это предел для 32-битного процессора. Вот статья, которая более глубока и показывает, что на 32-битной ОС вы можете установить и использовать гораздо больше, чем 4 ГБ.

За исключением того, что не все реальное адресное пространство обязательно выделено физической памяти. Jason S 15 лет назад 0
Извините, я имел в виду более 4 ГБ, просто что-то в диапазоне более 2 ^ 32. Peter Turner 15 лет назад 0
1
Jason S

Полагаю, технически, если бы операционная система была хорошо спроектирована, вы могли бы использовать более 4 ГБ. Нет причин думать, что ОС с возможностями виртуальной памяти не может использовать 32-битные виртуальные адреса с 64-битными реальными адресами.

1
Factor Mystic

Зависит от того, какую 32-битную ОС вы имеете в виду!

Конечно, в современных операционных системах вы можете подключить столько, сколько ваша материнская плата может взять без проблем (хотя вы, возможно, не сможете использовать все это), но это было не всегда так, по крайней мере с Windows:

Ошибка в Windows 95, 98, SE и ME возникает, если у вас установлено более 512 МБ памяти.

http://answers.google.com/answers/threadview/id/333688.html

0
plugwash

Первое, что нужно понять, это то, что современные компьютерные системы используют виртуальную память. Вы можете иметь 32-битные виртуальные адреса для приложений, имея более 32-битные физические адреса.

Второе, что нужно понять, - это то, что физическое адресное пространство используется для различных целей, наиболее важными из которых являются основной оперативной памяти и периферийные устройства с отображением памяти. В частности, видеокарты часто имеют большие области отображения памяти. В результате, если у вас есть только 4 ГБ используемого физического адресного пространства, вы можете получить значительно меньше, чем 4 ГБ оперативной памяти. Обычно используется около 3,5 ГБ, но я видел системы, где оно было всего 2,5 ГБ.

На ПК для поддержки более 4 ГБ физического адресного пространства используется механизм, называемый PAE. Для этого нужно несколько вещей.

  1. Процессор должен поддерживать это.
  2. Чипсет должен его поддерживать.
  3. BIOS должен поддерживать это.
  4. ОС должна его поддерживать.

Процессоры поддерживают PAE целую вечность, это не проблема.

Многие старые чипсеты были ограничены 4 ГБ физического адресного пространства. Чипсеты IIRC Intel для ноутбуков получили поддержку более 4 ГБ адресного пространства с поколением «Санта-Роса» в 2007 году. Я не уверен насчет настольных чипсетов, но ожидаю, что это было примерно в то же время. Чипсеты для рабочих станций и серверов, очевидно, получили поддержку гораздо раньше.

Afaict BIOS'ы в основном поддерживают его, если это делает чипсет. Не удивил бы меня, если бы были некоторые исключения.

ОС тернистая. Linux и Windows поддерживают PAE целую вечность. К сожалению, поскольку Windows XP с пакетом обновления 2 MS искусственно ограничил физическое адресное пространство до 4 ГБ. Они утверждают, что сделали это из-за глючных драйверов, циники заподозрили, что сделали это, чтобы заставить людей покупать серверные версии.

В Windows XP это встроено в ядро ​​и в принципе не может быть отменено. Однако в более поздних версиях это можно обойти с некоторыми незначительными взломами ядра. Смотрите https://wj32.org/wp/ для деталей.

Похожие вопросы