32 битная система сколько оперативной памяти видит?

Содержание

Отличие 32-битной системы от 64-битной Windows: сколько оперативной памяти они поддерживают

32 битная система сколько оперативной памяти видит?

InfoSort

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

Отличие 32-битной системы Microsoft Windows от 64-битной: общие положения

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

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

Но ведь такая обработка осуществляется не программными компонентами самой ОС, а установленным на компьютере «железом». Именно поэтому, чтобы в полной мере понять, чем отличается Windows 8.

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

Немного о процессорах

Сердцем любого компьютера считается центральный процессор, поскольку именно на него возложена львиная доля вычислений. В свое время архитектура 32 бита была разработана компанией Intel и впервые была применена в процессорах серии 80386, впоследствии получивших обозначение i386. А саму разрядность по маркировке процессора стали обозначать как х86.

Архитектура 64 бита по современным меркам относительно недавно была внедрена корпорацией AMD. В связи с расширившимися возможностями процессоров нужно было использовать весь их потенциал, и именно поэтому назрела необходимость создания операционных систем и программного обеспечения, которые бы смогли в полной мере задействовать вычислительные способности ЦП.

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

Разница очевидна: одна ячейка при использовании 64-битной архитектуры может уместить вдвое больше информации (как уже понятно, 64 бита против 32). Но ведь как работает процессор?

За один цикл при использовании 32-битной структуры процессор в максимуме может обработать только 4 байта информации (8 бит х 4 = 32 бита). Если блок содержит более 32 битов, процессору необходимо выполнить повторный цикл или несколько. При 64-битной архитектуре переход на следующий цикл потребуется только в том случае, если блок превышает уже 64 бита. Однако даже обработка данных с задействованием нескольких переходов производится намного быстрее (как раз за счет уменьшения количества циклов).

Связь процессора с оперативной памятью

Еще одно отличие 32-битной системы от 64-битной касается и оперативной памяти, поскольку в обработке информации она принимает самое непосредственное участие. К ее адресам обращается ЦП, но сами адреса как раз и хранятся в той самой сверхбыстрой памяти. Таким образом, при разрядности 32 бита процессор может получить доступ только к адресам памяти с общим числом 232 степени, а при использовании 64-битной структуры – 264 степени.

Исходя из этого, нетрудно сделать вывод о максимально поддерживаемом объеме ОЗУ. 232 степени составляет 4 Гб, а 264 степени – уже 16 Эб (эксабайта). Конечно, это все теория, ведь такие объемы оперативной памяти еще не созданы (хотя, опять же, теоретически это возможно). Кроме того, необходимости в ней нет и по той причине, что на сегодняшний день нет ни одного программного продукта, для которого бы потребовалось задействовать такие огромные мощности.

Таким образом, если установить на компьютер операционную систему с разрядностью х86, больше 4 Гб оперативной памяти использовать не получится, сколько бы вы не устанавливали туда дополнительных планок (система их попросту не «увидит»). В случае с системами х64 можно устанавливать планки хоть до бесконечности.

Кроме того, несмотря на максимум в 4 Гб для 32-разрядных систем, на самом деле доступно оказывается всего 3 Гб! Но это уже применительно именно к операционным системам.

Что же касается самих ОС в виде программного обеспечения (например, Windows 10), отличие 32-битной системы от 64-битной, состоит и в том, что архитектура х86 может использовать максимум ОЗУ, а х64 – нет.

Речь идет как раз о том, что теоретически 64-битная ОС, по идее, должна бы работать с объемом 16 Эб, но на практике ограничение составляет всего 192 Гб.

Дополнительные характеристики

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

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

Наконец, в системах х64 имеется инструмент Kernel Patch Protection, несколько напоминающий предыдущую функцию, но его назначение состоит в блокировании внесения изменений в ядро системы и предотвращении обработки данных на аппаратном, а не на программном уровне, что очень часто применяется к драйверам, не имеющим цифровой подписи.

И последнее. Несмотря на то что при наличии 8 Гб ОЗУ в системах 64 бита виртуальную память можно не использовать вообще (запросы будут направляться прямо в ОЗУ с обработкой загруженных компонентов, а не сохраняться на жестком диске при задействовании файла подкачки), теоретически размер виртуальной памяти можно увеличить до 8 Тб. Смысла в этом, конечно, нет абсолютно никакого, тем не менее…

Файловые системы

Одним из самых спорных вопросов для всех пользователей является понимание файловой системы, используемой при установке Windows с разной архитектурой. Самыми распространенными сегодня являются стандарты FAT32 и NTFS.

Но первая изначально имеет разрядность 32 бита и может работать с файловыми объектами, размер которых не превышает 4 Гб. Для NTFS таких ограничений нет. Даже при установке Windows с 32-битной архитектурой, но с использованием NTFS производительность компьютера увеличивается достаточно сильно.

Достигается это за счет «умного» распределения дискового пространства. FAT32 считается в некотором смысле морально устаревшей структурой, но иногда без нее не обойтись. И связано это с процессами инсталляции операционной системы, когда в качестве носителя используется какой-нибудь USB-накопитель.

Понимание приоритетов BIOS и UEFI

Первичные системы ввода/вывода (устаревший BIOS и более новая модификация UEFI) тоже играют немаловажную роль.

И дело тут даже не в их прямом предназначении (распознавание «железа», сохранение информации о нем и т. д.), а в том, что они очень тесно связаны с файловыми структурами, которые могут находиться на установочных носителях или на жестких дисках. Объяснение тут довольно простое. Если установка Windows производится из-под UEFI, съемный носитель должен иметь файловую структуру FAT32, поскольку сама первичная система NTFS-носитель не распознает.

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

Стили разделов

В случае появления вышеуказанной ошибки раздел необходимо переконвертировать из GPT в MBR, и наоборот. Но с MBR (главными загрузочными записями) можно работать только в ОС с разрядностью х86.

С другой стороны, если вы устанавливаете Windows на жесткий диск с объемом 2 Тб и более, MBR с такими объемами не работает, то есть весь доступный размер виден не будет. А чтобы диск можно было использовать в полной мере, он и должен иметь стиль раздела GPT. Ну просто замкнутый круг…

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

Отличие системы 32 бита и 64 бита: вопросы работоспособности программного обеспечения

Еще один камень преткновения – корректная работа инсталлируемого на компьютер программного обеспечения. Архитектура и «железа», и самой операционной системы здесь тоже играют немаловажную роль.

Основное отличие 32-битной системы от 64-битной в этой ситуации состоит в том, что любое приложение, рассчитанное на архитектуру х86, в среде 64-битных ОС работать будет как ни в чем ни бывало. Наоборот – никак! То же самое, кстати, относится и к драйверам устройств.

Читайте также  Настройка оперативной памяти в Windows 10

Убедиться в том, что Windows х64 поддерживает исполнение приложений с архитектурой х86, можно совершенно просто.

Достаточно посмотреть на корневой каталог системы, в котором можно найти папки System32 и SysWOW64.

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

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

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

Кто прав? В плане скорости работы, как оказывается, разница особо не ощутима. Само собой разумеется, если серверная часть устанавливается на терминале с объемом ОЗУ более 4 Гб, она должна иметь разрядность 64 бита.

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

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

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

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

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

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

Эпилог

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

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

Источники: .ru

Источник: https://InfoSort.ru/rabota-s-kompyuterom/407-otlichie-32-bitnoj-sistemyi-ot-64-bitnoj-windows-skolko-operativnoj-pamyati-oni-podderzhivayut

Секреты большой памяти в 32-битных операционных системах

32 битная система сколько оперативной памяти видит?

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

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

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

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

https://www.youtube.com/watch?v=lZTWjqOlhK4

Впервые я реально столкнулся с проблемой большой памяти когда ко мне в руки попал ноутбук с 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-битным операционным системам.

Читайте также  Cl в оперативной памяти что это?

Проще всего определить поддержку режима 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 верхний предел доступной физической памяти ограничен программно на уровне ядра ОС.

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

  —  18 декабря, 2012  в рубрике  —  Microsoft Windows, Семейство ОС Linux   32-битная ОС, 4 ГБ, 64-битная ОС, DEP, Linux, PAE, Windows 7, Windows 8, Windows Server, Windows XP, Оперативная память, Процессор

Источник: http://www.ithabits.ru/15300-bolshaya-pamyat-v-32-bitnyih-operatsionnyih-sistemah.html

Использование более 2гб памяти для 32-битного приложения

32 битная система сколько оперативной памяти видит?

Сегодня я расскажу об ограничениях виртуального адресного пространства Windows и о том, как бороться с ошибками «Недостаточно памяти», возникающие у 32-битных программ и игр, когда объем используемой ими памяти достигает 2 Гигабайт. Несколько простых способов обойти это ограничение и заставить приложения использовать более 2ГБ памяти.

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

Архитектура x86

Все современные десктоп процессоры Intel или AMD (и не только) основаны на x86 архитектуре, которая была впервые реализована в процессорах Intel 8086, вышедших в 1978 году.

Вплоть до Intel 80386 (i386) процессоры были 16-bit и могли использовать лишь до 16 MB ОЗУ.

Вышедшие в 1985 году i386 процессоры стали 32-bit, что дает возможность адресации до 4 GB оперативной памяти (до 64 GB в режиме PAE, но при этом приложения могут использовать так же только до 4 GB).

Понятное дело, что в те годы 4 GB выглядело практически недостижимым. Но ничто не стоит на месте и со временем этого оказалось мало. В 2003 году компания AMD (ага, уже не Intel) в своих новых процессорах линейки Opteron внедрила расширение x86-64 (другие названия: AMD64, Intel64, x64, EM64T).

Это расширение имело ряд улучшений: 64 битные основные регистры, дополнительные регистры и расширение адресного пространства. Текущая реализация позволяет использовать до 256 TB виртуального адресного пространства, при теоретическом максимуме в 16 EB (ExbiByte — 264 байт).

Процессоры Intel поддерживают расширение x86-64 (AMD64) со старших моделей Pentium 4 (Prescott и далее).

x86 и x64 операционные системы

Применимо к ОС (Операционные Системы) используется обозначения x86 (в обиходе часто обозначается как x32) и x64, являющиеся 32-разрядными и 64-разрядными соответственно. Их различие в том, что x64 поддерживают AMD64, давая возможность использовать его преимущества, а x86 его не поддерживает (и не использует). На практике это дает определенные особенности и ограничения.

  • 64-разрядная ОС требует процессора с поддержкой AMD64 (все современные процессоры от Intel или AMD)
  • 32- разрядная ОС может работать, как на процессоре с поддержкой AMD64, так и без нее (но такую древность еще найти нужно)
  • 64-разрядные приложения работают только на 64-разрядной ОС
  • 32-разрядные приложения полноценно работают и на x32 и на x64 ОС, но преимуществ AMD64 они использовать не могут

Ограничения виртуальной памяти в Windows

У каждой версии Windows есть определенные ограничения по использованию физической и виртуальной памяти (можно посмотреть по ссылке). И если ограничение физической памяти связано, скорее, с лицензированием, то с ограничениями виртуальной все немного сложней.

Нас же интересует только виртуальная память, так как именно с ней взаимодействуют приложения.

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

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

И так, для 32-разрядных Windows общее ограничение виртуальной памяти – 4 GB (как и для 32-разрядных процессоров). 64-разрядные имеют ограничение от 15 до 256 TB в зависимости от версии.

Читайте также  Почему не хватает оперативной памяти на компьютере?

Но, любая редакция Windows делит общее адресное пространство на две части: user mode (пользовательский режим) – память, доступная приложениям и kernel mode (режим ядра) – память, используемая системой.

И, если на х64 приложениям достается 8 – 128 GB, то для x32 это всего лишь 2 GB (фактически ~1.7-1.8 GB). При достижении этого лимита, приложение выдаст ошибку и будет закрыто, или просто «вылетит» без каких либо предупреждений.

Как устроена память в Windows, подробно расписано в статьях Марка Руссиновича.

Функция настройки памяти 4GT

Для Windows x86 существует официальный «костыль», позволяющий перераспределить виртуальную память, давая приложениям до 3 GB, при этом уменьшая системное пространство до 1 GB. Называется это 4-Gigabyte Tuning. Как это выглядит, продемонстрированно на следующей схеме (слева – по-умолчанию, справа – с применением 4GT):

Включается опция следующим образом:

Для Windows XP/2003 – добавлением ключа /3GB в файле Boot.ini

Для Windows Vista/7/8 – команда BCDEdit /set increaseuserva 3072 (Пуск >Стандартные (Start >Accessories), правой кнопкой по Командная строка (Command Prompt) – Запуск от имени администратора (Run as Administrator), ввести и запустить команду).

Включение данной опции может привести к некорректной работе некоторых драйверов, программ или Windows в целом.

Флаг IMAGE_FILE_LARGE_ADDRESS_AWARE

Приложение сможет использовать свыше 2 GB виртуального адресного пространства, только если оно скомпилировано с параметром IMAGE_FILE_LARGE_ADDRESS_AWARE. Все 64-разрядные приложения по-умолчанию имеют этот параметр (в этом их суть), а вот 32-разрядные могут иметь его или не иметь – тут все зависит от программиста, который поставил эту опцию при компиляции или не поставил.

Этот флаг – это то, что нам нужно, чтобы заставить 32 битное приложение использовать больше 2 GB памяти. Запуск такого 32-bit приложения на Windows x32 с применением 4GT даст ему до 3 GB памяти (фактически ~2.8 GB), а на Windows x64 все 4 GB.

К счастью, выставить этот флаг для любого приложения можно самостоятельно. Для этого есть несколько способов.

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

4GB Patch

Самый простой способ.

Для начала скачайте программу с сайта автора или отсюда:

Скачать 4GB Patch (Версия 1.0.0.1, 21 KB, Скачан 3074)

После запуска 4gb_patch.exe откроется стандартное диалоговое окно «Открытие файла», где вам нужно указать .EXE файл, который вы собираетесь изменить.

Сразу после выбора файла появится окно программы, подтверждая успешную операцию. Далее вы можете изменить другой файл (нажав Another File) или закрыть программу (нажав OK).

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

CFF Explorer

Для тех, кто точно знает, что делает.

CFF Explorer – бесплатная и довольно мощная программа для работы с PE заголовками от автора 4 GB Patch. Скачать можно с сайта автора.

  1. Установив и запустив программу, открываем нужный .EXE файл.
  2. Переходим к пункту File Header.
  3. Щелкаем в правом нижнем углу появившейся таблицы (так и написано – Click here).
  4. В открывшемся окне выставляем галочку напротив App can handle >2gb address space.
  5. Применяем и сохраняем файл.

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

Обратное действие – то же самое, с той разницей, что галочку мы убираем.

EDITBIN.EXE

Небольшая утилита EDITBIN.EXE, которая есть в комплекте Microsoft Visual Studio.

Действия следующие (запускается из командной строки):

Выставить: EDITBIN.EXE /LARGEADDRESSAWARE name.exe

Убрать: EDITBIN.EXE /LARGEADDRESSAWARE:NO name.exe

С помощью этого же параметра (/LARGEADDRESSAWARE) задается использование памяти для проектов Visual Studio.

Заключение

Суммируя вышесказанное – для того, чтобы 32-разрядное приложение могло использовать более 2 GB памяти должны быть соблюдены два условия:

Источник: https://www.toolgir.ru/ispolzovanie-bolee-2gb-dlya-32-bit-prilozheniya/

Сколько «оперативки» видит Windows 7 32 bit: с чем связаны ограничения и как освободить память?

32 битная система сколько оперативной памяти видит?

Пользователи Windows 7 все еще остается одной из самых популярных и востребованных во всем мире ОС даже после заявлений корпорации Microsoft о прекращении ее поддержки.

Однако очень часто неудобство ее использования на домашних и офисных ПК состоит в том, что далеко не всегда система с разрядностью х86 корректно воспринимает апгрейд «железа» в плане увеличения планок ОЗУ для повышения производительности.

О том, сколько «оперативки» видит Windows 7 32 bit, далее поговорим более предметно. И тут нужно четко ориентироваться в архитектуре, поскольку ответ на основной вопрос в большинстве случаев зависит как раз от таких знаний.

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

Синхронизация «Андроид»: основные направления действий и настройки

Начнем с того, что на всевозможных форумах можно встретить посты несведущих пользователей, утверждающих, что памяти можно поставить на компьютер, сколько угодно, система ее распознает, но использовать не сможет. Это не совсем так. Архитектура х86 или 32 бита такова, что более определенного лимита, который составляет 4 Гб, она может и не распознать.

Как установить Java 32 bit для Windows 7 или аналогичных систем: инструкция и нюансы установки

Связано это только с принципами работы 32-битных систем в плане использования доступного адресного пространства. Но если разбираться сколько оперативной памяти видит Windows 7 32 bit разных модификаций, и тут можно найти массу ограничений. В основном это касается построения структуры самих модификаций системы.

Сколько «оперативки» видит Windows 7 32 bit «Начальная»

Так, например, версия Starter, которая в иерархии ОС всего этого семейства является самой простой и, если можно так сказать, ограниченной, не способна работать с установленными планками ОЗУ с объемами, превышающими 2 Гб (хотя тех же установленных 4 Гб и определяет).

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

Ограничения на установку ОЗУ в остальных версиях Windows 7 (х86)

Если же говорить о том, сколько «оперативки» видит Windows 7 32 bit остальных версий, как уже понятно по тому, что было сказано применительно ко всем 32-битным ОС, для нее максимальное ограничение составляет именно 4 Гб.

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

Почему доступна не вся память?

Вероятно, многие пользователи, просматривая данные в разделе свойств системы, который вызывается через меню ПКМ на значке компьютера, расположенном на «Рабочем столе», достаточно часто замечали, что даже при наличии 4 Гб ОЗУ доступный объем существенно уменьшается.

В среднем показатель потерь составляет примерно 300-500 Мб, а иногда и выше.

Почему так? Тут основная проблема состоит в том, что оперативную память в Windows 7 32 bit приоритетно используют исключительно системные процессы, среди которых можно найти очень много фоновых служб и апплетов, запускаемых при старте системы, не говоря уже об автоматически загружаемых компонентах пользовательских программ.

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

Как использовать ОЗУ по максимуму?

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

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

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

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

Наконец, можете воспользоваться разделом служб (services.msc) и отключить ненужные апплеты и процессы именно там, однако без необходимых знаний такими вещами лучше не заниматься. Если хотите, можете деактивировать автоматическую инсталляцию апдейтов. По крайней мере, в «семерке» (в отличие от той же «десятки») сделать это можно.

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

Выводы

На данный момент пока это все, что касается рассмотрения вопросов по поводу того, сколько «оперативки» видит Windows 7 32 bit. Конечно, способов оптимизации памяти существует очень много, а в материале выше были приведены только самые основные и наиболее действенные.

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

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

Например, неплохо работает приложение Advanced SystemCare. В нем есть специальный встроенный инструмент, который при активации может отслеживать состояние ОЗУ в реальном времени и освобождать память для пользовательских процессов путем выгрузки из нее ненужных или неиспользуемых системных модулей и компонентов. Однако такая функция доступна только в версии Pro, а в бесплатной модификации Free ее вы не найдете (а если и найдете, то она будет неактивной и использовать ее будет невозможно).

Источник

Источник: https://ruud.ru/it/67684-skolko-operativki-vidit-windows-7-32-bit-s-chem-svyazany-ogranicheniya-i-kak-osvobodit-pamyat/