Ограничение в 2 ГБ относится к физическому барьеру памяти для процесса, работающего в 32-разрядной операционной системе, которая может использовать максимум 2 ГБ памяти. [1] Проблема в основном затрагивает 32-разрядные версии операционных систем , таких как Microsoft Windows и Linux , хотя некоторые варианты последней могут преодолеть этот барьер. [2] Она также встречается на серверах, таких как FTP-серверы , или встраиваемых системах, таких как Xbox . [3] Использование расширения физического адреса ( PAE ) может преодолеть этот барьер, расширив адреса, используемые для представления сопоставлений между виртуальной и физической памятью.
Предел создается 32-битным целым пределом (2 147 483 647), который является наибольшим возможным целым числом, которое может быть представлено 32 двоичными цифрами. В компьютере с 32-битной архитектурой адрес памяти , сохраненный в одном из регистров ЦП, будет ограничен этим числом, таким образом, количество возможных ячеек памяти, к которым можно обратиться, ограничено ровно 2 гибибайтами , или примерно 2 ГБ.
В то время как Linux, FreeBSD и большинство Unix-подобных операционных систем поддерживают PAE, пока это делает оборудование, [4] [5] Windows необходимо вручную включать эту опцию загрузки, поскольку многие драйверы устройств несовместимы с PAE. Это известно как настройка на 4 гигабайта (4GT) или /3GB
переключатель. После включения исполняемые файлы могут иметь флаг «осведомленность о больших адресах», установленный для увеличения их лимита памяти до 3 ГБ. 32-разрядные процессы в 64-разрядной Windows также ограничены 2 ГБ. Однако они также могут использовать флаг «осведомленность о больших адресах», за исключением того, что он не требует переключателя /3GB
и увеличивает лимит до 4 ГБ. [6]