Контакты

Максимум памяти для 32 разрядной системы. Оперативная память и система Windows. Максимальный объем оперативной памяти в Windows

Сколько памяти может использовать 32 битная операционная система

Сначала немного теории.
Простейший элемент информации – бит. Он является минимальной единицей информации и может принимать значение 0 или 1. За ним идет байт, он состоит из 8 бит. Так как бит может принимать 2 значения, то всего получается 2 8 =256 значений байта.

Теперь рассмотрим адресацию памяти. У любого компьютера имеется оперативная память (ОЗУ) — адресное пространство, необходимое для хранения данных, используемых в данный момент. Для получения информации из ОЗУ вначале процессор должен выбрать адрес нужного бита, который храниться в одной из микросхем памяти, а уже потом его прочитать. Этот процесс и называется адресацией памяти. Одним из свойств архитектуры компьютера является количество битов, используемых при адресации памяти.

32 битные ОС для адресации памяти используют 2 32 бит, что составляет 4294967296 бит или 4 Гигабайт (Гб). Это значит, что максимальный объем памяти, к которому может обращаться 32 битная операционная система, составляет 4 Гб. Однако даже этот объем использовать в полной мере нам не удасться, поскольку компоненты операционной системы и устройства требуют выделенного адресного пространства в пределах первых 32 бит (4 Гбайт) оперативной памяти. Например, видеокарта с 512 Мбайт памяти потребует синхронизации этой памяти с оперативной, что снизит доступную ёмкость на 512 Мбайт.

Таким образом, общий объем памяти, доступной в 32 – битной ОС Windows обычно составляет 3.25-3.75 Гб в зависимости от используемого железа.

Некоторые версии Windows поддерживают функцию под названием Physical Address Extension (PAE) , позволяющую использовать больше 4 Гбайт памяти благодаря специальной технологии переадресации. Данная технология позволяет процессору работать не с 32-битной, а с 36-битной адресацией, теоретически расширяя доступные ему адреса до 2 36 = 68719476736 байт (64 Гб). При этом само адресное пространство остается 32-битным, то есть равным 4 Гб, но за счет измененного отображения на него физической памяти становится возможным использование большего ее объема.

Согласно официальной информации Microsoft, режим PAE можно использовать в следующих 32-битных операционных системах:

  • Microsoft Windows Server 2000 Enterprise/Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise/Datacenter Edition
  • Microsoft Windows Server 2008 Enterprise/Datacenter Edition

В Server 2008 PAE включен по умолчанию, если на сервере на хардварном уровне включена технология DEP (Data Execution Prevention), либо сервер имеет возможность горячего добавления памяти (hot-add memory). В противном случае PAE необходимо включить принудительно с помощью BCDEdit, следующей командой:

BCDEdit /set [{ID}] pae ForceEnabled

Чтобы включить PAE в Server 2000\2003, необходимо указать в файле Boot.ini ключ /PAE . Вот пример файла Boot.ini, содержащего ключ PAE:


timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=″Windows Server 2003, Enterprise″ /fastdetect /PAE

Стоит заметить, что возможность использовать режим PAE для клиентских ОС была реализована во втором сервис-паке к Windows XP. Однако в процессе тестирования выяснилось, что при использовании этого режима происходит большое количество сбоев. Дело в том, что драйверы некоторых устройств, в основном таких как аудио- и видео, жестко запрограммированы на работу с адресами памяти в пределах 4ГБ. Они обрезают все адреса выше этого объема, что приводит к повреждению содержимого памяти со всеми сопутствующими последствиями. Поскольку, как правило, сервера не используют подобные устройства, то с серверными системами подобных проблем не возникало.

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

Подводя итог скажу, что если есть необходимость в объеме памяти больше 4Гб, то наилучший вариант — это использовать 64 битную ОС, ведь в ней ограничение на размер памяти составляет до 192 Гб для настольных и 2 Тб для серверных ОС.

Здравствуйте уважаемые читатели блога www.сайт. Должен сразу признаться, что не смотря на то, что я много лет профессионально занимаюсь различными аспектами ИТ, до недавнего времени такой вопрос, как максимальный размер оперативной памяти в клиентских компьютерах с 32-разрядными операционными системами, меня совершенно не интересовал.

Впрочем, наверное, как и подавляющее большинство других ИТ-специалистов и рядовых пользователей компьютеров. В основном приходилось решать обычные повседневные задачи, такие как подбор типа памяти для той или иной материнской платы, выбор размера и количества планок, диагностика отказов и многие другие такого же рода.

Оно и понятно. В серверных системах максимальный размер оперативной памяти всегда превышал наши реальные потребности и финансовые возможности, а в обычных компьютерах до поры до времени никакой проблемы, как бы, и не было.

Появилась она, или вернее будет сказать, проявилась, после того, как реальные размеры установленной в клиентских компьютерах оперативной памяти перешагнули рубеж в примерно 3 гигабайта. В контексте данной темы равный этому или больший объем памяти мы и будем называть большим.

Впервые я реально столкнулся с проблемой большой памяти когда ко мне в руки попал ноутбук с 4 ГБ оперативки и Windows 7 Professional x86. Захотелось выяснить что к чему. А именно, — куда “исчезла” часть установленной памяти и нельзя ли ее как-нибудь вернуть? Ведь объем доступной физической памяти самым непосредственным образом влияет на быстродействие системы.

Тема оказалась удивительно многогранной и чрезвычайно интересной, даже при том, что новой ее точно не назовешь — самая ранняя из публикаций, использованных мной для поиска ответов на поставленные вопросы, датируется 2006-м годом.

Практически все найденные мной по этой теме публикации отличались либо сверхлаконичностью до простой констатации фактов, либо были целиком посвящены какой-то одной стороне проблемы. Требовались обобщение и систематизация с «раскладыванием по полочкам», что я и постарался сделать. В результате получился цикл из пяти взаимосвязанных статей.

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

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

Максимальный размер оперативной памяти, который поддерживают 32-разрядные системы

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

Главное, что надо сделать в самом начале, это четко разделить между собой три понятия:

  1. Свойства процессора;
  2. 32-битная операционная система;
  3. 32-разрядное приложение (программа)

Последние два очень часто смешивают в одну кучу, чего в данном случае, делать как раз не следует. Начнем по порядку и издалека – совершим короткий исторический экскурс.

Процессор

Обратимся к таблице основных характеристик процессоров (чуть было не написал х86, что было бы ошибкой – эта система команд впервые появилась у процессора 8086) >

Эта таблица нужна нам для того, чтобы наглядно показать тот факт, что разрядность адресной шины отнюдь не всегда совпадала с разрядностью архитектуры процессора.

Для начала обратим внимание на 16-разрядные процессоры. Если бы они имели 16-разрядную адресную шину, то максимальный размер доступной им физической памяти составлял бы всего 64 КБ (2 в 16-й степени равно 65536). Однако уже Intel 8086 мог работать с памятью до 1 МБ, а 80286 уже до 16 МБ благодаря 20 и, соответственно, 24 битам шины адреса.

Эпоха процессоров IA-32 и 4 ГБ ОЗУ началась с Intel 80386 в 1985 году. На протяжении последующих 10 лет процессоры архитектуры IA-32 не имели физической возможности работать с памятью более 4 ГБ.

В 1995 году был представлен процессор Intel Pentium Pro . Наряду с совершенно новой архитектурой ядра этот процессор получил 36-битную адресную шину благодаря чему, как не трудно подсчитать, максимальный размер доступной ему физической памяти увеличился до 64 ГБ (в современных 64-разрядных процессорах используются 37 разрядов, что увеличивает предел адресуемой физической памяти до 128 ГБ).

Кроме того, в процессоре был реализован «хитрый» механизм управления памятью, который отображал физическую память, расположенную за пределами 4 ГБ, в 32-разрядную виртуальную память в диапазоне 0 — 4 ГБ «обманывая» таким образом 32-разрядные приложения. Такой режим управления памятью процессором х86 получил название PAE (Physical Address Extension — расширение физических адресов).

Pentium Pro позиционировался в то время как процессор для серверов и рабочих станций. Действительно, представить себе в 1995 году настольный компьютер с объемом оперативной памяти не то что больше, а хотя бы отдаленно приближающимся к 4 ГБ, было не просто. Память измерялась тогда мегабайтами. И в наше то время 4 ГБ памяти в настольном компьютере или ноутбуке нужны далеко не всем. Кроме того, этот процессор был очень дорогим и имел проблемы с быстродействием при выполнении популярных в то время 16-разрядных приложений.

Можно сказать, что такое решение было новым для 32-разрядных процессоров, однако, в силу того, что ранее подобная практика повсеместно применялась в 16-разрядных процессорах, революционной ее назвать сложно.

Коль уж заговорили о процессорах, то отметим, что первый 64-разрядный процессор х86 появился не у Intel, а у ее главного конкурента – компании AMD в 2003 году. К этому моменту у Intel уже был, выпущенный в 2001 году, 64-разрядный процессор Itanium совершенно новой архитектуры IA-64, не совместимой с х86. В том числе по причине последнего, процессор не получил распространения на настольных компьютерах. В 2003 году специально для Itanium была выпущена единственная версия Windows XP 64-Bit Edition Version 2003 (Itanium 2). Проект был прекращен в 2005 году за ненадобностью.

Не все, но подавляющее большинство современных процессоров х86 для настольных компьютеров являются 64-разрядными и имеют поддержку PAE. Благодаря этому они не только могут работать с памятью более 4 ГБ, но и предоставляют такую возможность 32-битным операционным системам.

Проще всего определить поддержку режима PAE процессором оказалось в Linux . В Ubuntu, или в любом из ее многочисленных клонов, можно набрать в терминале:

grep —color=always -i PAE /proc/cpuinfo

В результате должно получиться что-то вроде этого >

32-разрядные операционные системы

Первой в ряду 32-разрядных ОС Microsoft стала Windows NT 3.1, выпущенная в 1993 году. Она предназначалась для корпоративного сектора, то есть для серверов и рабочих станций. Двумя годами позже в 1995 году появилась Windows 95 — операционная система для настольных компьютеров и ноутбуков. Между двумя этими событиями в 1994 году была представлена версия 1.0 ядра Linux. 32-разрядная архитектура оказалась столь удачной и «достаточной», что она повсеместно используется до сих пор на протяжении вот уже 2-х десятилетий. Последней 32-битной серверной операционной системой Microsoft стала Windows Server 2008. Однако, новейшая Windows 8 по-прежнему предлагается в двух вариантах. Споры о том, что лучше – 32 или 64 не прекращаются и сегодня.

Для реализации дополнительных возможностей режима расширения физических адресов, помимо наличия соответствующего процессора и материнской платы с адекватным чипсетом и нужным количеством разведенных адресных линий, необходима поддержка PAE непосредственно самой операционной системой.

Если у Вас 32-разрядный Linux, то проблем с использованием памяти объемом более 4 ГБ, скорее всего, не возникнет. В операционных системах Linux поддержка PAE появилась в 1999 году в ядре 2.3.23 и используется с тех пор безо всяких ограничений.

Можно отметить, что, например, популярный Linux Mint вообще поставляется сегодня исключительно с ядром PAE и требует его обязательной поддержки процессором. Кстати, как в Windows 8. Не все этому обстоятельству рады, так как очевидно все еще сохранились процессоры без поддержки PAE.

Посмотрим таблицу максимально поддерживаемых размеров физической памяти, взятую из статьи 2005 года в msdn.microsoft.com, для Windows 2000, Windows XP и Windows Server 2003 >

Как видно из этой таблицы, режим PAE поддерживается во всех версиях ОС Microsoft начиная с Windows 2000. Вариации размеров максимальной памяти в различных версиях серверных операционных систем объясняются исключительно их позиционированием на рынке компанией Microsoft. Наверное, так проще объяснить их отличающуюся друг от друга стоимость. Для нас особый интерес представляют строки таблицы, которые прямо говорит о том, что во всех версиях Windows XP общее адресное пространство физической памяти ограничено на уровне 4 ГБ. Именно искусственно ограничено в ядре, так как поддержка PAE есть. С чем связано такое ограничение, причем не только в ХР, но и во всех последующих настольных 32-разрядных версиях Windows, разберемся во .

Режим PAE может быть включен, может быть выключен. Начиная с Windows XP SP2 PAE включается принудительно для обеспечения работы технологии безопасности DEP (Data Execution Prevention — предотвращение выполнения данных).

DEP – это технология, которая позволяет защитить операционную систему от большого класса вредоносного кода, который изначально внедряется в область памяти, отведенную под данные и маскируется под данные, а затем пытается из нее запуститься. Технология DEP такое выполнение вредоносного кода блокирует. Реализуется технология как программно, так и аппаратно. В последнем случае процессор помечает отдельные страницы памяти как не содержащие исполняемого кода измененным старшим битом в адресной таблице PTE (Page Table Entry) виртуальной памяти, а затем перехватывает и предотвращает запуск исполняемого кода с этих страниц.

Переходим к нашему последнему сегодняшнему пункту.

32-разрядные приложения

Благодаря диспетчеру памяти процессора, осуществляющему ее распределение в режиме PAE независимо от работы приложений, и поддержке такого режима работы операционной системой, 32-разрядные приложения отделены от физической памяти и не имеют сведений о ее реальном размере. Каждому приложению, так как для них сохраняется 32-битное адресное пространство, по-прежнему доступны только 4 ГБ виртуальной памяти. В Windows под нужды самого приложения из этих 4 ГБ отдается ровно половина, в Linuх — 3 ГБ. В Windows существует возможность принудительно отдать приложению 3 ГБ, но, в большинстве случаев, это является нецелесообразным.

Необходимо иметь в виду, что включение режима PAE отнюдь не эквивалентно переходу на 64-битную систему, в которой каждому приложению выделяется несравнимо больший объем памяти. Если за счет PAE попытаться непосредственно удовлетворить непомерный аппетит некого современного приложения, например, продвинутой компьютерной игры, то ничего хорошего не получится. А вот если требуется одновременно запустить несколько требовательных к памяти приложений, то польза от PAE будет прямая. В первую очередь это касается серверов.

Например, требуется одновременная работа двух виртуальных машин, каждой из которых отведено по 2 ГБ памяти. Что будет без PAE понятно — вторая виртуальная машина, скорее всего, просто не запустится, ну или в системе начнется такой интенсивный обмен со swap-файлом, что процесс перейдет в категорию «пошаговая стратегия» (забегая в перед скажу, что в реальном эксперименте с виртуальными машинами, о котором можно прочитать в , swap не помог). С включенным PAE, при условии достаточного объема физического ОЗУ хостовой машины, обе виртуальные машины будут благополучно работать. На самом деле все несколько сложнее, но, в общих чертах, так.

К недостаткам PAE обычно относят возможное снижение производительности системы из-за уменьшения скорости доступа к памяти, связанной с дополнительными операциями на переключение отображаемых страниц памяти, и плохую работу некоторых драйверов устройств в 36-битном адресном пространстве.

На этом пока остановимся и подведем итоги:

  • Практически все современные 32-битные операционные системы умеют работать с оперативной памятью размером более 4 ГБ. Такая возможность появилась в 1995 году благодаря внедрению в процессоры технологии PAE (Physical Address Extension — расширение физических адресов);
  • Не смотря на то, что поддержка PAE позволяет задействовать физическую память объемом до 64 (128) ГБ, работа ядра операционной системы в таком режиме совершенно не эквивалентна переходу на 64-битную ОС. Приложения продолжают выполняться в обычном для них 32-разрядном адресном пространстве, но при этом, если установленная физическая память превышает 4 ГБ, самих приложений может быть одновременно запущено больше;
  • В режиме PAE может наблюдаться снижение скорости доступа к памяти и проблемы с драйверами устройств;
  • В операционных системах Microsoft Windows верхний предел доступной физической памяти ограничен программно на уровне ядра ОС.

Последний пункт наших сегодняшних выводов мы подробно разберем в .

Да хотелось бы похвалить автора, статья действительно толковая.
Сложно правда было найти, столько шлака пришлось перелопатить в инете(((
Александр, подскажите, правильно ли я понял, что если я на пропаченной винде запускаю какой-либо процесс, ну допустим 3D MAX, то под него будет отведен объем не более 4 ГБ, даже если у меня их 16?
Т.е. я могу запустить 4 Макса и каждый из них отъест по 4 ГБ памяти, но так что бы один занял все 16 ГБ не получится.
Винда 7 (32).
Заранее спасибо.

  • Спасибо за отзыв. Да, Вы все поняли совершенно правильно. Каждый 32-разрядный процесс будет оперировать с памятью не более 4-х Гб. На самом деле непосредственно приложению будет доступна лишь половина от 4 Гб. Другая половина будет оставлена под системные нужды. Для того, чтобы немного изменить это соотношение в новую секцию загрузки в BCD добавлена строка «increaseuserva 2500».

    Эххх, жаль.
    Получается, что от перезалива винды никуда не деться, что бы по полной нагрузить оперативку(((
    Спасибо за оперативный ответ.

    Не расстраивайтесь. Как говорится, что бы не делалось, оно все к лучшему. Если памяти много и есть ресурсоемкое приложение, то х64 по любому и лучше и правильнее. Кроме того из-за «кривых» драйверов, после снятия 4 Гб ограничения в 32-разрядной Windows, к сожалению, до сих пор нет никакой гарантии ее стабильной работы.

    • Согласен, возни, конечно, много. Однако, может быть есть возможность не устанавливать абсолютно все приложения одномоментно, а по мере потребности? На домашнем настольном компьютере я обычно устанавливаю новую систему на отдельный диск и какое-то время «новая» и «старая» существуют параллельно. На работе я также запрещал своим сотрудникам техподдержки переустанавливать системы поверх, то есть на диск со «старой» системой. Более того, этот диск некоторое время (от месяца до трех) хранился в неприкосновенном состоянии. Такой подход гарантировал полное отсутствие потерь данных любого толка.

      Хммм, интересная мысль.
      Я как раз хотел новый винт прикупить, вот на него и вкрячу новую винду.
      Спасибо, еще раз.

  • Прошло несколько лет с тех пор, как была написана статья «Четыре гигабайта памяти - недостижимая цель? », а вопросов, почему Windows не видит все четыре гигабайта, меньше не стало. К числу вопрошающих добавились и обладатели 64-разрядных систем, которых эта проблема, казалось бы, не должна была коснуться. И стало ясно, что пора писать новую статью на эту же тему. Как и раньше, речь пойдет только об операционных системах Windows, причем в основном клиентских, то есть Windows XP, Windows Vista, Windows 7 и грядущей Windows 8. В некоторых случаях намеренно будут использоваться несколько упрощенные описания тех или иных аспектов. Это даст возможность сосредоточиться на предмете данной статьи, не вдаваясь в излишние подробности, в частности, внутреннего устройства процессоров и наборов микросхем (чипсетов) для системных плат. Рекомендуем предварительно прочитать указанную выше статью, так как не всё, сказанное в ней, будет повторено здесь.

    Хотя теоретически 32-разрядной системе доступны (без дополнительных ухищрений) до 4 ГБ физической памяти, 32-разрядные клиентские версии Windows не могут использовать весь этот объем из-за того, что часть адресов используется устройствами компьютера. Ту часть ОЗУ, адреса которой совпадают с адресами устройств, необходимо отключать, чтобы избежать конфликта между ОЗУ и памятью соответствующего устройства - например, видеоадаптера.

    Рис. 1. Если оперативная память в адресах, используемых устройствами, не отключена, возникает конфликт

    Оперативная память заполняет адреса, начиная с нулевого, а устройствам, как правило, отводятся адреса в четвертом гигабайте. Пока размер ОЗУ не превышает двух-трех гигабайт, конфликты не возникают. Как только верхняя граница установленной памяти входит в ту зону, где находятся адреса устройств, возникает проблема: по одному и тому же адресу находятся и ячейка оперативной памяти, и ячейка памяти устройства (того же видеоадаптера). В этом случае запись данных в память приведет к искажению изображения на мониторе и наоборот: изменение изображения - к искажению содержания памяти, то есть программного кода или данных (скажем, текста в документе). Чтобы конфликты не возникали, операционной системе приходится отказываться от использования той части ОЗУ, которая перекрывается с адресами устройств.

    В середине девяностых годов прошлого века для расширения доступного объема ОЗУ была разработана технология PAE (Physical Address Extension), увеличивающая число линий адреса с 32 до 36 - тем самым максимальный объем ОЗУ вырастал с 4 до 64 ГБ. Эта технология первоначально предназначалась для серверов, однако позже появилась и в клиентской Windows XP. Некоторые особенности реализации этой технологии в современных контроллерах памяти дают возможность не только использовать PAE по ее прямому назначению, но и «перекидывать» память в другие адреса. Таким образом, часть памяти, которая ради предотвращения конфликтов не используется, может быть перемещена в старшие адреса, например в пятый гигабайт - и снова стать доступной системе.

    В обсуждении первой статьи было высказано замечание, что некорректно отождествлять наличие в контроллере памяти системной платы поддержки PAE - и способность платы переадресовывать память; что это вполне могут быть вещи, друг с другом не связанные. Однако практика показывает, что в «железе» для настольных систем это понятия взаимозаменяемые. К примеру, Intel в документации к своему набору микросхем G35 ни слова не говорит о возможности (реально существующей) переадресации памяти, зато подчеркивает поддержку РАЕ. А не поддерживающий PAE набор i945 не имеет и переадресации памяти. С процессорами AMD64 и последними моделями процессоров Intel дело обстоит еще проще: в них контроллер памяти встроен в процессор, и поддержка PAE (и ОЗУ размером более 4 ГБ) автоматически подразумевает поддержку переадресации.

    Рис. 2. Переадресация

    Рисунок достаточно условный, переадресация совсем не обязательно выполняется блоками именно по одному гигабайту, дискретность может быть другой и определяется контроллером памяти (который, напомним, является либо частью оборудования системной платы, либо частью процессора). В программе BIOS Setup компьютера обычно бывает настройка, разрешающая или запрещающая переадресацию. Она может иметь различные наименования - например, Memory remap, Memory hole, 64-bit OS и тому подобное. Ее название лучше всего выяснить в руководстве к системной плате. Необходимо отметить, что если используется 32-разрядная система, то на некоторых системных платах, преимущественно достаточно старых, переадресацию необходимо отключать - в противном случае объем доступного системе ОЗУ может уменьшиться.

    По умолчанию в Windows XP режим РАЕ был отключен, поскольку реальной надобности в нем не было (напомним, что в 2001 году типичный объем памяти настольного компьютера составлял 128-256 МБ). Тем не менее, если его включить, то ХР могла бы использовать все четыре гигабайта памяти - при условии, конечно, что системная плата поддерживала бы РАЕ. Но, повторим, реальной надобности включать этот режим в те годы не было. При желании читатель может для пробы установить на современный компьютер Windows XP или Windows XP SP1 (делать это для работы, конечно, не стоит), включить режим PAE и своими глазами убедиться, что системе доступны четыре гигабайта ОЗУ.

    В 2003 году «Майкрософт» начала разрабатывать второй пакет исправлений для Windows XP (вышедший в 2004 году), поскольку столкнулась с необходимостью существенно снизить число уязвимостей в компонентах ОС. Одним из путей было использование предотвращения выполнения данных (Data Execution Prevention, DEP) - набора программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого памяти и в ряде случаев предотвращать запуск вредоносного кода. Эти проверки выполняются как на программном уровне, так и на аппаратном (при наличии соответствующего процессора). AMD назвала эту функцию процессора «защита страниц от выполнения» (no-execute page-protection, NX), а Intel использовала термин «запрет на выполнение» (Execute Disable bit, XD).

    Однако использование такой аппаратной защиты требует перевода процессора в режим PAE, поэтому Windows XP SP2 при обнаружении подходящего процессора стала включать этот режим по умолчанию. И вот тут «Майкрософт» столкнулась с довольно серьезной проблемой: оказалось, что не все драйверы могут работать в режиме PAE. Попробуем пояснить эту особенность, не слишком углубляясь в устройство процессоров и механизмы адресации.

    В Windows используется так называемая плоская модель памяти. Тридцать два разряда адреса обеспечивают обращение к пространству размером четыре гигабайта. Таким образом, каждой ячейке ОЗУ или ячейке памяти другого устройства соответствует определенный адрес, и никаких двусмысленностей тут быть не может. Включенный режим PAE дает возможность использовать 36 разрядов адреса и увеличить количество ячеек памяти в 16 раз. Но ведь система команд процессора остается той же самой и может адресовать только 4 миллиарда (двоичных) байтов! И вот, чтобы обеспечить возможность доступа к любому из 64 миллиардов байтов, указав только 32 разряда адреса, в процессоре включается дополнительный этап трансляции адресов (те, кого интересуют подробности, могут обратиться к специальной литературе - например, книге Руссиновича и Соломона «Внутреннее устройство Windows»). В результате 32-разрядный адрес в программе может указывать на любой из байтов в 36-разрядном пространстве.

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

    Однако поскольку исторически сложилось так, что до того времени в клиентских компьютерах PAE не использовался, некоторые компании не считали нужным поддерживать этот режим в написанных ими драйверах. Ведь оборудование, которое они выпускали (звуковые платы, к примеру), не предназначалось для серверов, и драйверы не имели серверной версии - так зачем без необходимости эти драйверы усложнять? Тем более, что для тестирования работы в режиме PAE раньше требовалось устанавливать серверную ОС и использовать серверное оборудование (системные платы для настольных компьютеров лишь относительно недавно стали поддерживать PAE). Так что разработчикам драйверов проще и выгоднее было просто забыть про этот PAE и обеспечить работоспособность на обычных клиентских компьютерах с обычными персональными, а не серверными ОС.

    И вот с такими драйверами и возникли проблемы в XP SP2. Хотя количество фирм, драйверы которых переставали работать или даже вызывали крах системы, оказалось невелико, количество выпущенных этими фирмами устройств исчислялось миллионами. Соответственно, и количество пользователей, которые могли бы после установки SP2 получить неприятный сюрприз, оказывалось весьма значительным. В результате многие пользователи и сами отказались бы устанавливать этот пакет, и разнесли бы о нем дурную славу, что повлияло бы и на других пользователей. Они, хоть и без каких-либо веских причин, тоже отказались бы его устанавливать.

    А необходимость повышения безопасности ХР компания «Майкрософт» ощущала очень остро. Впрочем, рассуждения на тему, почему мы увидели Windows XP SP2 и не увидели чего-то наподобие Windows XP Second Edition, выходят за рамки данной статьи.

    Главное, что нас интересует, это то, что для обеспечения совместимости с плохо написанными драйверами функциональность PAE в SP2 для Windows XP была обрезана. И хотя сам этот режим существует и, более того, на компьютерах с современными процессорами включается по умолчанию, никакого расширения адресного пространства он не дает, просто передавая на выход те же адреса, которые были поданы на вход. Фактически система ведет себя как обычная 32-разрядная без PAE.

    То же самое поведение было унаследовано Windows Vista, а затем перешло к Windows 7 и будущей Windows 8. Конечно, 32-разрядным. Причина, по которой это поведение не изменилось, осталась той же самой: обеспечение совместимости. Тем более что необходимость выгадывать доли гигабайта отпала: те, кому нужны большие объемы памяти, могут использовать 64-разрядные версии ОС.

    Иногда можно услышать вопрос: если именно этот обрезанный режим PAE мешает системе видеть все четыре гигабайта - так, может, отключить его вовсе, чтобы не мешал, и, вуаля, системе станут доступны 4 ГБ? Увы, не станут: для этого требуется как раз наличие PAE, притом полноценного. Другой не так уж редко задаваемый вопрос звучит так: если устройства действительно мешают системе использовать всю память и резервируют ее часть под свои нужды, то почему же они ничего не резервировали, когда в компьютере стояло два гигабайта ОЗУ?

    Вернемся к первому рисунку и рассмотрим ситуацию подробнее. Прежде всего отметим, что нужно четко различать два понятия: размер адресного пространства и объем ОЗУ. Смешение их воедино препятствует пониманию сути вопроса. Адресное пространство - это набор всех существующих (к которым может обратиться процессор и другие устройства) адресов. Для процессоров семейства i386 это 4 гигабайта в обычном режиме и 64 ГБ с использованием PAE. У 64-разрядных систем размер адресного пространства составляет 2 ТБ.

    Размер адресного пространства никак не зависит от объема ОЗУ. Даже если вытащить из компьютера всю оперативную память, размер адресного пространства не изменится ни на йоту.

    Адресное пространство может быть реальным, в котором работает сама операционная система, и виртуальным, которое ОС создает для работающих в ней программ. Но особенности использования памяти в Windows будут описаны в другой статье. Здесь же отметим только, что к реальному адресному пространству программы доступа не имеют - по реальным адресам могут обращаться только сама операционная система и драйверы.

    Рассмотрим, как же в компьютере используется адресное пространство. Сразу подчеркнем, что его распределение выполняется оборудованием компьютера («железом») и операционная система в общем случае не может на это повлиять. Есть только один способ: изменить настройки оборудования с помощью технологии Plug&Play. О ней много говорили в середине 90-х годов прошлого века, но теперь она воспринимается как что-то само собой разумеющееся, и всё увеличивается число людей, которые о ней даже не слышали.

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

    Базовая программа в системной плате, часто обобщенно называемая BIOS (хотя на самом деле BIOS (базовой системой ввода-вывода) она не является) при включении компьютера опрашивает устройства. Она определяет, какие диапазоны адресов каждое устройство может использовать, потом старается распределить память так, чтобы ни одно устройство не мешало другому, а затем сообщает устройствам свое решение. Устройства настраивают свои параметры согласно этим указаниям, и можно начинать загрузку ОС.

    Раз уж об этом зашла речь, заметим, что в ряде системных плат есть настройка под названием «P&P OS». Если эта настройка выключена (No), то системная плата выполняет распределение адресов для всех устройств. Если включена (Yes), то распределение памяти выполняется только для устройств, необходимых для загрузки, а настройкой остальных устройств будет заниматься операционная система. В случае Windows XP и более новых ОС этого семейства данную настройку рекомендуется включать, поскольку в большинстве случаев Windows выполнит требуемую настройку по крайней мере не хуже, чем BIOS.

    Поскольку при таком самоконфигурировании распределяются адреса памяти, не имеет никакого значения, сколько ОЗУ установлено в компьютере - процесс все равно будет протекать одинаково.

    Когда в компьютер вставлено некоторое количество ОЗУ, то адресное пространство для него выделяется снизу вверх, начиная с нулевого адреса и дальше в сторону увеличения адресов. Адреса устройств, наоборот, выделяются в верхней области (в четвертом гигабайте) в сторону уменьшения адресов, но не обязательно смежными блоками - чаще, наоборот, несмежными. Как только зоны адресов, выделяемых для ОЗУ (с одной стороны) и для устройств (с другой стороны), соприкоснутся, становится возможным конфликт адресов, и объем используемого ОЗУ приходится ограничивать.

    Поскольку изменение адреса при настройке устройств выполняется с некоторым шагом, определяемым характеристиками устройства, заданными изготовителем, то сплошной участок адресов для устройств получить невозможно - между адресами отдельных устройств появляются неиспользуемые промежутки. Теоретически эти промежутки можно было бы использовать для обращения к оперативной памяти, но это усложнило бы работу диспетчера памяти операционной системы. По этой и по другим причинам Windows использует ОЗУ до первого адреса памяти, занятого устройством. ОЗУ, находящееся от этого адреса и выше, останется неиспользуемым. Если, конечно, контроллер памяти не организует переадресацию.

    Иногда задают вопрос: а можно ли повлиять на распределение адресов, чтобы сдвинуть все устройства в адресном пространстве как можно выше и сделать как можно больше памяти доступной системе. В общем случае без вмешательства в конструкцию или микропрограммы самих устройств это сделать невозможно. Если же руки все-таки чешутся, а времени не жалко, можно попробовать следующий метод: в BIOS Setup включить настройку «PnP OS» (она может или вовсе отсутствовать или называться по-другому), чтобы адреса для большинства устройств распределяла Windows, а затем переустанавливать драйверы, используя отредактированные файлы inf с удаленными областями памяти, которые, на ваш взгляд, расположены слишком низко.

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

    Может возникнуть также вопрос: а что будет, если установить видеоадаптер с четырьмя гигабайтами памяти. Ведь тогда получается, что система останется совсем без ОЗУ и работать не сможет. На самом деле ничего страшного не произойдет: видеоадаптеры уже довольно давно используют участок адресного пространства размером 256 МБ, и доступ ко всему объему памяти видеоускорителя осуществляется через окно такого размера. Так что больше 256 мегабайт видеоадаптер не отнимет. Возможно, в каких-то моделях размер этого окна увеличен вдвое или даже вчетверо, но автору в руки они пока не попадали.

    64 разряда

    Итак, с 32-разрядными системами мы разобрались. Теперь перейдем к 64-разрядным.

    Вот уж тут-то, казалось бы, никаких подводных камней быть не должно. Система может использовать куда больше четырех гигабайт, так что, на первый взгляд, достаточно воткнуть в системную плату память и установить систему. Но оказывается, не все так просто. Прежде всего, отметим, что специального оборудования, предназначенного только для 64-разрядных систем, найти не удастся (мы говорим об обычных ПК). Любая системная плата, сетевая плата, видеоадаптер и пр., работающие в 64-разрядной системе, должны с одинаковым успехом работать в 32-разрядной.

    А это означает, что адреса устройств должны оставаться в пределах первых четырех гигабайт. И значит, все ограничения, накладываемые на объем памяти, доступный 32-разрядной системе, оказываются применимыми и к 64-разрядной - конечно, в том случае, если системная плата не поддерживает переадресацию или если эта переадресация отключена в настройках.

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

    С 64-разрядными процессорами AMD дело обстоит проще: у них контроллер памяти уже довольно давно встроен в процессор, и переадресация отсутствует только в устаревших моделях. Все процессоры для 939-контактного гнезда и более новые поддерживают больше 4 ГБ и, соответственно, умеют выполнять переадресацию памяти. То же самое относится к процессорам Intel семейств Core i3, i5, i7.

    Впрочем, и тут может быть загвоздка: если на системной плате не выполнена разводка дополнительных адресных линий, то не будет и возможности обратиться к переадресованной памяти. А некоторые младшие модели системных плат для удешевления выпускают именно такими, так что необходимо смотреть описание конкретной системной платы.

    И здесь нас поджидает сюрприз, подобный тому, с которым мы сталкиваемся в 32-разрядной системе: использование адресного пространства для работы устройств может ограничить объем памяти, доступный Windows.

    Например, если системная плата поддерживает до 8 ГБ ОЗУ (скажем, использующая набор микросхем G35), и установить все эти 8 ГБ, то использоваться будут только ≈7-7,25 ГБ. Причина заключается в следующем: на такой системной плате разведены 33 линии адреса, что, с точки зрения изготовителя, вполне логично - зачем усложнять конструкцию, если больше 8 ГБ плата все равно не поддерживает? Поэтому даже если контроллер памяти сможет перекинуть неиспользуемый участок ОЗУ в девятый гигабайт, обратиться к нему все равно будет невозможно. Для этого потребуется 34-разрядный адрес, который физически нельзя сформировать на 33-разрядной системной шине. Точно так же на платах, поддерживающих 16 ГБ, Windows сможет использовать ≈15-15,25 ГБ и так далее.

    С переадресацией связан еще один малоизвестный нюанс. Ограничение размера памяти, выполняемое в программе msconfig (или соответствующими настройками конфигурации загрузки) относится не к собственно величине памяти, а к верхней границе адресов используемой памяти.

    Рис. 3. Эта настройка ограничивает верхнюю границу адресов, а не размер памяти

    То есть если задать эту величину равной 4096 МБ, то память, расположенная выше этой границы (переадресованная в пятый гигабайт, например), использоваться не будет, и фактически объем памяти будет ограничен примерно тремя гигабайтами. Эту особенность в некоторых случаях удается использовать для диагностики того, работает переадресация или нет. Например, автору встретился случай, когда на ноутбуке Windows использовала 3,75 ГБ из четырех, и было неясно: то ли не работает переадресация, то ли память используется на какие-то нужды. Установка флажка и ограничение размера памяти четырьмя гигабайтами привели к тому, что стали использоваться только 3,25 ГБ. Из этого можно сделать вывод, что переадресация работала, а четверть гигабайта, следовательно, использовалась для видеоадаптера или каких-то других целей.

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

    Совсем недавно на блоге сайт была опубликована заметка, в помощь тем, кто собирается обновлять свой компьютер или же покупать/собирать новый. А именно, в ней говорилось о том, сколько оперативной памяти нужно компьютеру в зависимости от тех задач, которые передними ставятся: Сколько оперативной памяти нужно?

    Следующей нашей заметкой по плану была статья о поддержке различных объемов памяти со стороны операционной системы — о разрядности операционной системы; о том, что не все объемы памяти поддерживаются всеми версиями Windows . Отдельное спасибо всем читателям, которые в комментариях на блоге упомянули о теме разрядности: после прочтения их я понял, что короткой заметки в блоге на эту тему — мало. Нужен подробный материал на эту тему.

    Именно поэтому было решено написать статью, (ликбез, если хотите) по этому вопросу и разместить ее здесь, на ITexpertPortal.com — в архиве бесплатных обучающих материалов и статей на важные темы компьютерной грамотности.

    Итак, вернемся к основной теме, к разрядности операционных систем и к поддержке различных объемов памяти. Вначале ответим на вопрос:

    Что такое разрядность вообще?

    Научное определение: В информатике разрядностью электронного (в частности, периферийного) устройства или шины называется количество разрядов (битов), одновременно обрабатываемых этим устройством или передаваемых этой шиной. Термин применим к составным частям вычислительных, периферийных или измерительных устройств: шинам данных компьютеров, процессорам и т.д. Разрядностью компьютера называют разрядность его машинного слова. (источник — Википедия).

    Думаю, все просто и понятно. Разрядность — способность одновременно обрабатывать какое-то количество битов, если говорить проще.

    На самом деле, все не так просто, и чтобы осветить полностью этот вопрос и "по-научному" — никакой статьи не хватит. Поэтому, не будем углубляться в курс архитектуры ПК, а затронем чисто практические моменты, с которыми приходится сталкиваться и которые имеют значение для нас — пользователей.

    Причем тут объем оперативной памяти?

    Существует две версии операционной системы Windows (по крайней мере пока — только две). Не важно, что именно мы возьмем из современных и актуальных систем: XP, Vista или 7.
    Все эти системы существуют в двух вариантах — 32-битные и 64-битные. Например:

    Windows 7 Ultimate 32-bit (или х86 — равнозначные обозначения)
    Windows 7 Ultimate 64-bit (
    или x64 — равнозначные обозначения)
    Windows Vista Ultimate x86 (x86 —
    это обозначение 32-битной версии)
    Windows Visa Ultimate x64 (соответственно — 64-битная версия)

    Архитектурные различия между 32 и 64-битными версиями Windows, разумеется, есть. Говорить о них можно долго, но это ни к чему, поверьте мне. 🙂

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

    1. Максимальный объем оперативной памяти.
    2. Разрядность операционной системы.
    3. Разрядность процессора.

    Вот об этом мы с вами поговорим подробнее…

    Максимальный объем оперативной памяти.

    32-битная операционная система может адресовать (т.е. может использовать, "видеть") не более 4 ГБ оперативной памяти. Это самое главное отличие, и самое существенное. Если в вашем компьютере установлено, скажем, 2 ГБ, то 32-битная операционная система работает с таким объемом нормально.

    Если вы у становите 4 ГБ памяти и будете работать под управлением 32-битной ОС, то она просто не увидит такой объем. Все, что она сможет использовать — это примерно 3.5 ГБ из 4 ГБ. Остальной объем она не может предоставить для работающих программ. Разумеется, если вы установите в компьютер 8 ГБ памяти, скажем, и при этом будете оставаться на 32-битной системе, то она так же не увидит более 3.5 ГБ из всего установленного объема.

    64-битная операционная система может работать с гораздо бОльшими объемами памяти — до 192 ГБ (для Windows 7) . Т.е. если вы, скажем, захотели установить 8 ГБ памяти, то обязательно нужно переходить на 64-битную ОС, в противном случае, вы просто не сможете использовать столь большой доступный объем.

    Мы рассмотрели, можно сказать, "крайности", до 2 ГБ и 8 ГБ и более. А как быть с золотой серединой? Что, если у вас уже установлено или же вы планируете увеличить объем памяти до 4 ГБ? Нужно ли в этом случае переходить на 64-битную ОС, чтобы компьютер смог использовать не 3.3, а все 4 ГБ памяти?

    Не все так просто… 64-битные версии ОС используют заметно больше памяти. Все переменные теперь уже не 32-битные, а 64-битные. Обычно это увеличивает объём приложений на 20-40%, что приводит и к соответствующему росту объёма занимаемой памяти. На такие файловые форматы, как музыка или видео, это не влияет.

    Устанавливать 64-битную версию Windows , чтобы лучше использовать 4 Гбайт памяти, смысла не имеет, пусть даже 32-битная версия распознаёт только до 3,5 ГБ памяти. Проблема кроется в том, что вы получите отсутствующую память, однако сразу же её потеряете по той причине, что 64-битная версия требует для себя больше памяти. Так что переход на 64 бита актуален только при памяти большего объёма: 6, 8 ГБ и более.

    Итак, если вы решили установить много памяти, и здесь 64-битная ОС нужна точно, то возможно, вас интересует вопрос:

    Какими особенностями обладает 64-битная Windows Vista /7 ?

    Визуально — никакими. Т.е. внешне — это обычная ОС, ничем не выделяющаяся от 32-битного варианта. Вы можете определить ее принадлежность к 64-битной архитектуре только зайдя в пункт "свойства системы" в панели управления — там указана разрядность.

    Технически — небольшие различия есть. Первое, собственно, что 64-битная ОС "видит" большие объемы памяти и умеет с ними работать. Второе — она позволяет запускать 64-битные приложения.

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

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

    Например, компания Adobe заявляла, что современные приложения серии Adobe CS5 — будут только 64-битные. Это значит, что, скажем, Photoshop CS5, Dreamweaver CS5 и т.п. смогут запустится только на 64-битной системе. На 32-битной ОС они просто не запустятся. Почему?

    Потому что в 64-битной ОС могут работать 32-битные приложения, но не наоборот!

    Следующий технический момент — 64-битные ОС требуют 64-битных драйверов . Как правило, все современные (не старше двух лет) устройства ПК, ноутбуки и периферия имеют на прилагающемся установочном диске две версии драйверов — 32 и 64-битную. Поэтому с современными устройствами проблем не возникнет — как обычно вставляем диск с драйвером в привод и запускаем установку, инсталлятор сам определит версию Windows и запустит соответствующий разрядности драйвер.

    Если диска нет или на нем нет 64-битного драйвера, необходимо посетить официальный сайт разработчика конкретного устройства, чтобы скачать такой драйвер. То же относится и к устаревшему оборудованию.

    ОБЯЗАТЕЛЬНО проверьте наличие 64-битных версий ВСЕХ необходимых драйверов еще ДО начала установки 64-битной версии Windows !

    Разрядность процессора.

    Где взять/как определить 64-битные приложения?

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

    Если же вы приобретаете какое-то ПО через интернет, то принадлежность к 64-битной архитектуре тоже указывается.

    Вот пример: моя лицензионная коробочная версия Windows Vista Ultimate . В комплекте два установочных диска — 32 и 64-битная версия ОС:

    Не обращайте внимание на "англоязычность" в данном случае, просто ОС была куплена в Соединенных Штатах.

    Но это в данном случае — Vista Ultimate (только Ultimate) так поставлялась, в двух версиях. Как правило, та же Windows, например (или любая другая программа) продается ИЛИ 32-битная ИЛИ 64-битная, о чем указано на коробке, как я уже упоминал.

    На этом отличия и особенности 64-битных операционных систем Windows, значимые для пользователя заканчиваются.

    В остальном — все точно так же, как и на привычных 32-битных Windows XP/Vista/7.

    В этой статье мы разберемся, как убрать ограничение 4 Гб памяти на 32 битных версиях Windows 8 и Windows 8.1, и задействовать всю доступную на компьютере оперативную память.

    Большинство пользователей Windows убеждены, что 32 битные ОС Microsoft не поддерживают более 4 Гб оперативной памяти . Таким образом, максимум памяти, доступной в Windows 8/ 8.1 x86 — 4 Гб. А с учетом того, что Windows резервирует часть памяти под свои нужды и нужды периферийных устройств) чаще всего для видеокарты), конечному пользователю для использования доступны обычно около 3-3,5 Гбайт памяти.

    На первый взгляд все логично – пределом адресации для 32 разрядной адресной шины являются те самые 4 Гб. Во всех официальных документах Microsoft указывает именно этот максимальный размер памяти, поддерживаемый во всех клиентских версиях x86-системе. Хотя на самом деле Microsoft немного вводит всех в заблуждение.

    Что такое PAE и зачем он нужен

    PAE (Physical Address Extension - расширение физической адресации) – эта опция x86 процессора, позволяющая ему получить доступ более чем к 4 Гб физической памяти . Не будем углубляться в технические подробности технологии PAE, просто отметим, что это технология поддерживается всеми процессорами и непосредственно в OC Windows уже довольно давно.

    Так, например, 32 битная версия Windows Server, запущенная на процессоре x86, может использовать PAE для доступа ко всей оперативной памяти системы (до 64 Гб или до 128 Гб в зависимости от поколения процессора).

    Скажем больше, поддержка режима PAE в ядре Windows имеется, еще начиная с Windows XP. Просто по умолчанию PAE доступен только в серверных ОС, а в клиентских же ОС Windows этот режим хотя и имеется, но отключен.

    Примечание . PAE может использоваться только на 32 битных версиях Windows, запущенных на совместимых с этим режимом x86 процессорах.

    Ограничения режима PAE

    • PAE не расширяет виртуальное адресное пространство каждого процесса. Каждый процесс, запущенный на 32 битной системе все так же ограничен 4 Гб адресного пространства.

      Совет . PAE не поможет увеличить количество памяти, доступной для ресурсоемкого приложения (например, графического или видеоредактора). Если такая необходимость имеется, лучше перейти на 64 разрядную ОС.

    • При использовании PAE следует отметить небольшое снижение производительности системы за счет уменьшения скорости доступа к памяти, вызванное накладными расходами на переключение отображаемых страниц в памяти
    • Драйвера некоторых устройств не могут корректно работать в 36 битном адресном пространстве.

    Итак, можно сделать вывод, что верхний предел доступной физической памяти в 32 битных версиях Windows ограничен программно на уровне ядра ОС. А если есть программное ограничение, это означает, что его можно обойти! Каким же образом включить режим PAE в 32 битной Windows 8.1 и задействовать всю доступную оперативную память.

    Патч, включающий PAE и позволяющий задействовать всю оперативную память на Windows 8 / 8.1 x86

    Включить режим PAE в Windows 8 (Windows 8.1) штатными средствами не получится (для этого придется вручную в HEX редакторе править файл ядра ntoskrnl.exe и переподписывать его). Проще всего воспользоваться готовым патчем PatchPae2 , который написан энтузиастом Wen Jia Liu. Скачать патч PatchPae2 можно . (архив содержит сам патчер — PatchPae2.exe, его исходные коды и необходимые инструкции).

    Патч представляет собой небольшую утилиту командной строки, которая позволяет модифицировать файлы ядра 32 битных версий Windows с целью активация режима PAE, позволяющего использовать более 4 Гб оперативной памяти (до 128 Гб памяти).

    Патч PatchPae2 будет работать со следующими ОС:

    • Windows Vista SP2
    • Windows 7 / Windows 7 SP1
    • Windows 8 / Windows 8.1

    Примечание . Перед установкой необходимо патча с целью предотвращения конфликтов рекомендуется отключить оптимизаторы и драйверы оперативной памяти. Их можно будет активировать после применения патча и загрузки системы в режиме PAE.

    Установка PAE — патча в Windows 8 / 8.1

    Внимание . Данную инструкцию можно использовать только для 32 битных версий Windows 8 и Windows 8.1, для предыдущих ОС Microsoft процедура немного отличается! Будьте внимательны!


    Примечание. В любой момент времени пользователь, перезагрузившись, может в загрузочном меню переключиться с режима PAE на обычный, или обратно.

    Важно! После установки патча необходимо быть особенно внимательными при установке обновлений безопасности Windows. Т.к. некоторые обновлений Windows иногда содержат и обновления для ядра, после их установки необходимо обновить и ядро PAE: PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

    Кроме того, могут возникнуть проблемы, описанные и .

    Удаление патча PAE

    Чтобы удалить патч PAE из системы, необходимо:

    1. Удалить соответствующую запись из загрузочного меню (проще всего это сделать с помощью msconfig )
    2. Удалите файлы ntoskrnx.exe и winloadp.exe в каталоге %Windir%\System32 .

    Никаких других изменений в систему патч не вносит.



    Понравилась статья? Поделитесь ей