Почему 32 бит система Microsoft имеет ограничение в 4 гб пожалуйста более подробный ответ. - вопрос №1955468

Лучший ответ по мнению автора

Эта проблема связана с особенностями адресации памяти 32-разрядными операционными системами. Если вкратце — проблема берет свои корни из древности, когда объем памяти в несколько гигабайт был чем-то запредельным. Дальше все шло по накатанной, пока технологии не добрались до тех самых пресловутых 4Gb. Если в вашем компьютере есть аппаратная поддержка PAE — то проблема решаема.

Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум 4 ГБ виртуальной памяти. Также, в новых моделях процессоров в PAE-режиме старший бит элемента таблицы страниц отвечает за запрет исполнения кода в странице, что затрудняет атаку по методу переполнения буфера.

Впервые расширение появилось в процессоре Pentium Pro. Для использования 36-разрядной адресации памяти необходима поддержка расширения физических адресов на аппаратном уровне (можно определить по команде CPUID) и программное включение режима PAE в ОС.

Итак, при установке 4Гб RAM в компьютеры, получим следующие варианты использования памяти:

  • Для 64-х битных ОС будет доступна вся установленная оперативка.
  • Для 32-х битных ОС с поддержкой PAE так же будет доступна вся память.
  • Для 32-х битных ОС без поддержки PAE (у которых доступное адресное пространство ограничено четырьмя гигами) доступным будет от 2,8 до 3,5 Гб оперативки, т.к. та часть оперативной памяти, что переброшена выше границы 4Гб попросту не будет использована.
  • Для Server 2003 Web Edition в любом случае доступным будет только 2 Гб — ограничение самой операционной системы.

Проблема адресации памяти, кроме того, не ограничивается одной только операционной системой или одним процессором. Рассмотрим основные компоненты, накладывающие ограничения на объем оперативной памяти 4Gb.

Процессор.

В 32-х битном режиме процессоры могут адресовать лишь 4 Гб памяти. Но начиная с PentiumPro появилась 36-ти битная адресная шина, т.е. теоретически стали доступны 64Гб оперативной памяти.

Операционная система

32-х битные ОС адресуют не более 4Гб памяти. Те из них, в которых есть поддержка процессоров c PAE, теоретически могут поддерживать больше (в зависимости от реализации и позиционирования на рынке).

Operating System Maximum Physical Memory Supported==============================================================Microsoft Windows Server 2003 Web Edition.................2 GBMicrosoft Windows 2000 Professional.......................4 GBMicrosoft Windows 2000 Server.............................4 GBMicrosoft Windows XP Pro & Home Edition...................4 GBMicrosoft Windows Server 2003 Standard Edition............4 GBMicrosoft Windows 2000 Advanced Server....................8 GBMicrosoft Windows 2000 Datacenter Server..................32 GBMicrosoft Windows Server 2003 Enterprise Edition..........32 GBMicrosoft Windows Server 2003 Datacenter Edition..........64 GBMicrosoft Windows XP 64 bit Edition.......................32 GBMicrosoft Windows Server 2003 Enterprise 64-bit Edition...64 GBMicrosoft Windows Server 2003 Datacenter 64-bit Edition..512 GB

Видно, что на 64-х битные OC Microsoft также зачем-то наложил ограничения, весьма далекие от теоретического предела.

Чипсет.

Чипсеты на i865 поддерживают 4Гб, на i975 поддерживают 8Gb — проверено опытным путем.

Особенности архитектуры компьютера.

Не все из первых 4-х гигов оперативной памяти доступны операционке для размещения в них данных и программ. Часть из этого адресного пространства отводится для работы с железом (PCI/PCI-E/FirmWare/VGA mem/etc), т.е. затеняется им. В зависимости от конфигурации компьютера объем затеняемого таким образом (железом) адресного пространства может варьироваться. Но «перекрываемая» железом часть оперативной памяти может быть перенесена и размещена выше границы 4Гб. В биосах материнок для этого обычно есть соответствующие настройки (remap). Таким образом, отключив часть неиспользуемого железа и сделав ramap памяти можно выкроить еще пару сотен мегабайт оперативной памяти.

15.05.16
Лучший ответ по мнению автора

Другие ответы

Добрый день .
Windows ( 32 ) ограничений в 4 Гб не имеет .
В Обычных Windows можно использовать и более 4 Гб, все зависит от версии ядра ( Сборка ) и Вашего железа .

15.05.16

Глеб Черняк

от 55 p.
Читать ответы

Попов Евгений

от 50 p.
Читать ответы

Константин Владимирович

от 50 p.
Читать ответы
Посмотреть всех экспертов из раздела Технологии > Железо
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store