Какая максимальная оперативная память. Еще раз про Windows и четыре гигабайта

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

Сколько памяти можно установить?

Теоретический предел для 32-разрядных систем — 3 с небольшим гигабайта. 64-разрядная же система теоретически могла бы работать с 16.8 миллионов террабайт!

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

Итак, оптимальный объем памяти для домашнего компьютера — 8 Гб. В этом случае планки памяти будут оправдывать те деньги, которые вы в них вложили.

А лучший ответ на вопрос «Куда девать свободную память?» звучит для современных операционных систем так: «Не мешайте работать!». Т.е. просто оставьте память в покое — система сама знает, как ее лучше использовать, просто работайте с программами и играми.

Обязательно обратите внимание на статью , в которой раскрываются многие моменты по работе памяти.

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

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

Любой смартфон состоит из множества компонентов. Сильнее всего на быстродействие операционной системы влияет центральный процессор (CPU) . Второе место в этом рейтинге безусловно занимает оперативная память (ОЗУ) . Если данный компонент является очень медленным, а свободный объем получился очень низким, то в работе системы и большинства приложений будут наблюдаться подтормаживания. В качестве примера давайте вспомним самые первые смартфоны на базе Symbian, объем оперативной памяти у которых исчислялся считанными мегабайтами. На тех устройствах практически невозможно было поставить воспроизведение музыки на паузу, чтобы ответить на входящий звонок - при возвращении в музыкальный плеер трек начинался сначала, так как в ОЗУ не хватало места для хранения текущей позиции.

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

И тогда, и сейчас оперативная память делится на несколько условных секций:

  • Системная - здесь находится операционная система (Android, iOS), а также всяческие служебные модули, предустановленные производителем смартфона. В этом же сегменте может присутствовать и фирменная оболочка. Именно системная секция заполняется информацией самой первой. Чем более скоростная память используется в устройстве, тем быстрее происходит загрузка операционной системы.
  • Пользовательская - эта память доступна после того, как заканчивается загрузка «операционки». Именно в этой секции содержатся исполнительные файлы разных приложений - интернет-браузера, мессенджеров и прочих. Также здесь постепенно могут появляться дополнения для прошивок, выпускаемые производителем гаджета в виде обновлений.
  • Доступная - небольшая секция, зарезервированная операционной системой. Такая «бронь» нужна для предотвращения проблемных ситуаций и быстрого запуска новых приложений.

На что влияет оперативная память?

Какие выгоды получает пользователь, если смартфон имеет повышенный объем ОЗУ? На таком устройстве могут работать в фоне большее количество приложений. То есть, интернет-браузер не будет с нуля загружать страничку, если вы вернулись к нему после посещения множества других программ. Также при большом объеме оперативной памяти в фоне может работать огромное количество мессенджеров, торрент-клиент и приложения прочих видов. А вот быстродействие самой операционной системы зависит не столько от объема, сколько от скоростных характеристик оперативной памяти. Влияет на работу ОС Андроид или iOS и оптимизация операционной системы.

Когда-то Билл Гейтс заявлял, что любому компьютеру хватит 640 Кб ОЗУ. Теперь же даже мобильной «операционке» требуется примерно 1 Гб, а к этому ещё нужно прибавить фирменную оболочку и устанавливаемые затем приложения. А если код будет плохо оптимизирован, то тормоза и подвисания будут наблюдаться в любом случае. Хорошим примером являются смартфоны и планшеты Samsung , выпущенные до 2015 года. Оперативной памяти в таких устройствах было достаточное количество, но громоздкий и неоптимизированный интерфейс буквально заставлял гаджет время от времени подтормаживать.

От объема оперативной памяти зависит продолжительность автономной работы. Здесь всё банально. Большее количество фоновых процессов достаточно сильно нагружает CPU. А это, в свою очередь, влечёт повышенное энергопотребление. Производители смартфонов борются с этим за счёт более тонкого техпроцесса чипсета, более ёмкого аккумулятора и лучшей оптимизации предустановленного софта.

Сколько оперативной памяти нужно смартфону?

Как уже было сказано выше, операционная система Android может занимать от 512 Мб до 1 Гб ОЗУ. Также оперативная память нужна тем приложениям, которые будут устанавливаться по ходу использования устройства. Это значит, что сейчас не стоит покупать смартфон, в составе которого присутствует менее 2 Гб ОЗУ. И это уже минимальный параметр! Если требуется покупка девайса, который точно не будет выгружать из памяти недавно запущенные приложения, то нужно подумать об устройстве, в характеристиках которого значатся 4 Гб или даже больший объем ОЗУ.

Обратите внимание, перебарщивать тоже не стоит. 8 Гб оперативной памяти - это лишь маркетинговая уловка. Android пока попросту не может расходовать столь огромный объем. Научатся это делать лишь будущие версии операционной системы, которые на выбранный девайс, вполне возможно, никогда не поступят.

Как освободить оперативную память?

Многим владельцам смартфонов кажется, что для освобождения оперативной памяти достаточно открыть список запущенных ранее приложений, после чего нажать «Закрыть все». Отчасти это действительно помогает освободить некоторый объем ОЗУ, что поспособствует, например, более качественному запуску игры. Но иногда требуются более действенные методы.

Многие фирменные оболочки имеют встроенные средства для освобождения оперативной памяти. Выгрузка из неё приложений может происходить автоматически, раз в определенный промежуток времени. Но гораздо чаще освобождать память приходится вручную. Рассмотрим порядок действий пользователя на примере смартфона от компании Samsung:

Шаг 1. Перейдите в «Настройки ».

Шаг 2. Нажмите на пункт «Оптимизация ».

Шаг 3. Дождитесь окончания проверки устройства, после чего нажмите на пункт «ОЗУ ». Либо нажмите на кнопку «Оптимизировать », если хотите заодно освободить постоянную память.

Шаг 4. В подразделе «ОЗУ» будет запущена дополнительная проверка. Затем нужно нажать кнопку «Очистить ». Система предварительно подскажет, какой именно объем оперативной памяти будет освобожден.

На смартфонах и планшетах других компаний встроенная утилита-оптимизатор может находиться где-то в меню, посещение «Настроек» в таком случае не потребуется. Существуют фирменные оболочки и без встроенной возможности освобождения оперативной памяти. К счастью, никто не мешает пользователю скачать из Google Play специальное приложение, занимающееся тем же самым. На сайт есть отдельная статья о лучших оптимизаторах для Android - остается выбрать подходящий вариант. Давайте попробуем скачать и установить CCleaner .

Шаг 1. Запустите установившееся приложение. При первом запуске потребуется нажатие кнопки «Начать ».

Шаг 2. Также программа может предложить обновиться до платной версии. Она лишена рекламы и дополнена некоторыми полезными функциями. Если пока тратить деньги не хочется, то нажмите кнопку «Продолжить бесплатно ».

Шаг 3. В главном окне приложения указан заполненный объем ПЗУ и ОЗУ. Чтобы программа поняла, какой именно объем можно освободить, следует нажать кнопку «Анализ ».

Шаг 4. При первом запуске на свежих версиях Android возникнет предупреждение о том, что утилите нужны разрешения на работу с определенными разделами операционной системы. Нажмите кнопку «Ясно » и предоставьте запрошенные разрешения.

Шаг 5. Анализ может длиться достаточно длительное время - всё зависит от того, как давно CCleaner запускался в последний раз. Когда процесс будет завершен - нужно проставить галочки около тех элементов, которые можно удалить с постоянной и оперативной памяти. После этого остается лишь нажать кнопку «Очистить ».

Шаг 6. В дальнейшем можно приказать программе автоматически очищать ОЗУ и ПЗУ. Делается это в отдельном разделе. Однако для активации данной функции потребуется покупка платной версии приложения.

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

Подведение итогов

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

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

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

  • , что не сильно исправит положение дел;
  • Добавить оперативной памяти.

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

Определить сколько оперативной памяти поддерживает ноутбук программно

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

Скачать и установить AIDA64 (рекомендуем версию Extreme) с сайта разработчиков не составляет труда. Когда это будет сделано, программу необходимо запустить и следующим образом определить максимальный объем оперативной памяти для используемого компьютера:


Обратите внимание: На некоторых компьютерах программа AIDA64 может выдавать информацию о двух северных мостах. На самом деле в данных вкладках содержится разная информация, и необходимо выбрать тот вариант, в котором имеются пункты про оперативную память.


Важно: Если пункт «Максимальный объем памяти» отсутствует рядом с информацией о поддерживаемых типах памяти, это не значит, что материнская плата выдержит любой объем оперативной памяти. В таком случае необходимо действовать по второму способу определения максимального объема оперативной памяти, описанному ниже.

Найти информацию о максимуме оперативной памяти в сети

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


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

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

Объем оперативной памяти значительно влияет на производительность компьютера. Поэтому решившись на обновление конфигурации своей системы большинство пользователей начинает с установки дополнительной памяти.

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

Итак, для того чтобы узнать сколько оперативной памяти поддерживает материнская плата, нужно сначала узнать точное название модели самой платы. Для этого лучше всего воспользоваться бесплатной утилитой CPU-Z. Скачайте CPU-Z и установите на свой компьютер.

После запуска программы CPU-Z, перейдите на вкладку «Mainboard». Здесь будет доступна вся основная информация о вашей материнской плате. В самом верху окна будет указано .

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

И перейдите на официальный сайт производителя материнской платы.

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

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

Если вы хотите установить себе большой объем оперативной памяти, то нужно учитывать, что ее максимальный объем ограничивается не только материнской платой, но и процессором. Откройте характеристики процессора на официальном сайте производителя и посмотрите, с каким объемом памяти может работать . Например, для процессора Intel Core i5-2310 максимальный объем оперативной памяти составляет 32 Гб.

Кроме этого, максимальный объем оперативной памяти ограничивает и операционная система. Например, для Windows работают следующие ограничения:

Версия Windows

Ограничение для 32 разрядной системы

Ограничение для 64 разрядной системы

Windows 10

Windows 10 Enterprise

Windows 10 Education

Windows 10 Pro
Windows 10 Home

Windows 8

Windows 8 Enterprise

Windows 8 Professional

Windows 8

Windows 7

Windows 7 Ultimate

Windows 7 Enterprise

Windows 7 Professional

Windows 7 Home Premium

Windows 7 Home Basic

Windows 7 Starter

Windows Vista

Windows Vista Ultimate

Windows Vista Enterprise

Windows Vista Business

Windows Vista Home Premium

Windows Vista Home Basic

Windows Vista Starter

Windows XP

Windows XP
Windows XP Starter Edition

Как видно для 32-битных версий Windows ограничения очень серьезные. Но, для 64-битных версий ограничений практически нет, если не учитывать Windows 7 Home Basic и Windows 7 Home Premium для которых установлено ограничение в 8 и16 Гб.

Прошло несколько лет с тех пор, как была написана статья «Четыре гигабайта памяти - недостижимая цель? », а вопросов, почему 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.



Понравилась статья? Поделиться с друзьями: