Що відбувається при встановленні> 4 Гб оперативної пам’яті на комп’ютер із 32-бітовою ОС?


10

Тож я програміст, і я не повний ідіот, тому я точно знаю, чому ви не можете отримати доступ до пам'яті там, де ви не можете мати покажчики. Але я ніколи цього не пробував і не думаю, що коли-небудь буду, тому що це здається великою тратою грошей / часу.

Мені просто цікаво, чи є якісь інструменти, які дозволяють мені отримати доступ до мого гімема (Ви б могли подумати, що ми вже до цього питання розібралися б).


Ознайомтесь з цим альтернативним способом фразування того ж питання: superuser.com/questions/7964/where-did-the-other-8-gb-of-ram-go
звідти

Дякую, ось і хороша відповідь, можливо, мені доведеться просто закрити це питання. serverfault.com/questions/3342/…
Пітер Тернер

Відповіді:


20

Якщо у вас є процесор з розширенням фізичної адреси (що ви, мабуть, робите) та правильною ОС ( наприклад, не споживча версія Windows, вона використовує PAE, але обмежена на 4 ГБ ), то пам'ять можна відобразити на карті та використовувати нормально. Інакше пам'ять просто не буде адресована, ОС скаже, що у вас є чимало чіпів, наскільки вони великі, але вони просто не додадуться до тієї кількості пам'яті, до якої ви можете отримати доступ.


3
Чому звичайні версії Windows не підтримують PAE? Ще одна причина використовувати Linux ...
Zifre

1
Тому що 64-бітні / серверні версії коштують дорожче.
Мартін Бекетт

2
Навіть споживчі версії Windows підтримують PAE - вони обмежені до 4 Гб (з міркувань сумісності та маркетингу). (PAE досі використовується для функції "Запобігання виконанню даних".)
user1686

3
@Zifre, багато драйверів, орієнтованих на споживачів, не впораються з PAE та> 4G оперативної пам’яті на Windows. Таким чином, включення PAE часто призводить до таємничих збоїв, і тому він використовується лише для серверних видань, де, імовірно, ви будете встановлювати драйвери більш високої якості, розроблені для великого обсягу пам'яті.
bdonlan

bdonlan: PAE увімкнено і у споживчих версіях, у них просто обмежений штучний 4 Гб.
користувач1686

1

Все буде добре працювати, оскільки 4 Гб - це обмеження для 32-бітного процесора. Ось як стаття, яка детальніше заглиблюється і фактично показує, що ви можете встановити та використовувати набагато більше 4 Гб на 32-бітній ОС.


За винятком того, що не весь реальний адресний простір обов'язково присвячений фізичній пам'яті.
Jason S

Вибачте, я мав на увазі більше 4 Гб, просто щось із діапазону понад 2 ^ 32.
Пітер Тернер

1

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


1

Залежить, яку 32-бітну ОС ви маєте на увазі!

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

Помилка в Windows 95, 98, SE та ME з'являється, якщо у вас встановлено більше 512 Мб пам'яті.

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


0

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

Друге, що потрібно зрозуміти, - це те, що фізичний адресний простір використовується для різних речей, найбільш значущих основних рам та пам’яті периферійних карт. Зокрема, графічні картки мають великі регіони, відображені у пам'яті. Результат полягає в тому, що якщо у вас є лише 4 ГБ корисного фізичного адресного простору, ви можете отримати значно менше 4 ГБ корисного барана. Приблизно 3,5 Гбайт є типовим, але я бачив системи, в яких це було 2,5 Гб.

На ПК для підтримки понад 4 Гб фізичного адресного простору використовується механізм під назвою PAE. Для цього потрібно кілька речей.

  1. ЦП повинен його підтримувати.
  2. Чипсет повинен підтримувати його.
  3. BIOS повинен підтримувати його.
  4. ОС повинна його підтримувати.

Процесори підтримують PAE протягом століть, це не проблема.

Багато старих наборів чіпів були обмежені 4 Гб фізичного адресного простору. Чипсети IIRC Intel Laptop отримали підтримку понад 4 ГБ адресного простору з поколінням "Santa Rosa" в 2007 році. Я не впевнений у настільних чіпсетах, але, напевно, це було приблизно в той же час. Чипсети робочої станції / сервера, очевидно, отримали підтримку набагато раніше.

Afaict BIOSes здебільшого підтримують його, якщо чип має. Не здивував би мене, якщо є якісь винятки.

ОС - тернистий. Linux та Windows підтримують PAE віками. На жаль, оскільки сервіс-пакет Windows XP 2 MS штучно обмежив фізичний адресний простір до 4 Гб. Вони стверджують, що зробили це через помийних драйверів, циніки підозрюють, що вони це зробили, щоб змусити людей купувати серверні видання.

У Windows XP це запікається в ядро ​​і в основному його не можна відмінити. Однак на пізніших версіях його можна обійти ядрами з незначними зламами. Детальніше дивіться на https://wj32.org/wp/ .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.