Можно ли на 32-битной системе запустить игру, рассчитанную на 64 бита? Запустить 64 битную программу на 32 windows 7


Как запустить 64-битную игру на 32-битной системе

Большинство современных игр, таких как Overwatch, Hurtworld или Subnautica, могут работать исключительно на 64-разрядных операционных системах. Создателям этих программ просто не выгодно делать разные варианты приложений под 32- и 64-bit. Хотя обе версии достаточно распространены. Конечно, перейти на x64 достаточно легко. Но что делать, если вы не собираетесь переставлять ОС и при этом хотите посмотреть на популярную игру? Узнайте, как на 32-битной системе запустить Subnautica и другие 64-разрядные программы.

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

Чем отличается 32-битная система от 64-битной?

Почему же программы, рассчитанные на 64 bit, не получается открыть на 32 bit? Чем эти версии так отличаются, раз на них не работают одни и те же приложения? И если Overwatch можно запустить в x64, почему в него нельзя поиграть на таком же компьютере, но с x32?

От системы зависит, сколько оперативной памяти может быть установлено на ПК и сколько он способен выделить каждому конкретному приложению. В x64 максимальный объём RAM составляет 16 Гб (в Windows 7 Professional — до 192 Гб). При этом какой-либо утилите предоставляется до 4 Гб. В версии с x32 указанные цифры гораздо меньше — 4 Гб максимум и 2 Гб отдельной программе.

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

На «слабые» машины устанавливают x32. Если у ПК не очень много оперативной памяти и не самый хороший процессор, просто нет смысла работать с 64 bit. Это будет только «перегружать» электронную вычислительную машину, не добавляя ей производительности. А вот мощному компьютеру x64 будет как раз к месту.

Несмотря на то что эти системы внешне похожи друг на друга, они сильно различаются на программном уровне. У них разный набор драйверов, поэтому Subnautica, Overwatch, Hurtworld и другие подобные не пойдут на 32-разрядной ОС, пусть даже ПК и обладает необходимыми характеристиками.

Модерным играм, приложениям, программам для редактирования графики или видео недостаточно 2 Гб, которые им выделяет x32. Компоновщики новых игр создают свои продукты с расчётом именно на x64.

Как узнать, поддерживает ли процессор x64?

Посмотреть, какая у вас установлена ОС, можно так:

  1. На рабочем столе кликните правой кнопкой мыши на значок «Мой компьютер».
  2. Пункт «Свойства». Его также можно найти в разделе «Панель управления».
  3. В строке «Тип» будет указано, сколько бит в вашей версии ОС.

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

Перед тем как запустить Overwatch на 32-битной системе, узнайте, «потянет» ли ваш ПК такую игру. Проверьте, поддерживает ли процессор 64-битные команды. Это можно сделать при помощи специальных программ-тестеров. Подойдёт, например, бесплатная утилита «SecurAble». Её не надо устанавливать. И, соответственно, не нужно удалять после эксплуатации. Просто запустите исполняемый файл. Будет показана информация о процессоре: название, тактовая частота, разрядность, поддерживает ли он D.E.P (это защита девайса от переполнения буфера) и аппаратную визуализацию. Можно кликнуть на любой из результатов — появится его описание.

Проверка поддержки процессором 64-битных команд

Если программа выдаст вердикт «Maximum 32 bit», значит, приложения, рассчитанные на x64, вряд ли будут работать. Чтобы поиграть в Overwatch или Hurtword, придётся менять процессор или утилизировать удалённые серверы.

Как сделать из 32-битной системы 64-битную?

Есть несколько утилит для так называемой виртуализации. Они эмулируют работу какой-то платформы с определённым программным и аппаратным обеспечением. Если вам надо разобраться, как запустить Hurtworld на 32-битной системе, эксплуатируйте одну из таких утилит.

Данные программы создают некую «гостевую» ОС. Но её надо в любом случае устанавливать и приобретать лицензионную версию, если она платная. Для этого у вас должен быть диск (или образ диска) с той операционкой, которая вам нужна.

Oracle VirtualBox

Универсальная программа для подобных задач.

  1. Установите её и запустите. Слева будет список установленных ОС и панель инструментов. Справа — сведения о выбранной системе.
  2. Нажмите кнопку «Создать». Появится информационное окно. Кликните «Далее».
  3. Выберите тип и версию ОС. Там есть много вариантов на выбор: не только Microsoft Windows, но и Linux.
  4. Затем необходимо будет решить, сколько оперативной памяти выделить «гостевой» системе.
  5. После этого нужно создать виртуальный диск (на который запишутся файлы ОС). Можете выбрать уже существующий или сделать новый. И поставьте галочку рядом с опцией «Загрузочный диск».
  6. В следующем окне отметьте, фиксированный ли объём будет у диска или динамический (изменяющийся). К каждому пункту есть подробные пояснения. Загрузочный лучше делать фиксированным. Впоследствии можно добавить другие диски.
  7. Настройте размер виртуального хранилища. Обычно хватает 10 Гб. Создавать его лучше в отдельном месте — не в том, куда установлена основная система.
  8. Дождитесь окончания процесса. В списке доступных появится новая.

Один из способов — это использование утилит виртуализации

После можно настроить аппаратную часть:

  1. Выберите гостевую ОС и нажмите «Свойства».
  2. В разделе Общие — Дополнительно поменяйте папку для сохранения снимков на ту, которая удобна вам.
  3. Там же настройте буфер обмена. Он определяет, как будет передаваться информация между разными ОС.
  4. Во вкладке «Система» можете выбрать характеристики виртуальной материнской платы и процессора.
  5. Пункт «Сеть» нужен для настройки доступа во всемирную паутину. Можно оставить настройки по умолчанию.
  6. В разделе «Носители» укажите, откуда нужно взять ОС. Если установщик находится на CD, вставьте его в дисковод. Для загрузки с .ISO нажмите на кнопку «Открыть» рядом со списком «Привод». Она выглядит как жёлтая папка.
  7. Туда же можно добавить другие образы для быстрого переключения между ними: базы данных, приложения, игры.

После окончания настройки нажмите «OK». Чтобы запустить гостевую ОС, кликните на неё и на кнопку «Старт». Будет произведена установка. И вы сможете переключаться между системами: играть в 64-битной, а работать в 32-разрядной.

Другие виртуальные машины

Существуют ещё утилиты для работы с виртуальными машинами:

  • VMware Workstation. Серьёзная профессиональная программа для сложных задач. Она распространяется на платной основе.
  • Простенькая утилита для аппаратной эмуляции. Имеет открытый исходный код.
  • Windows Virtual PC. Работает только с Windows-системами. Можно настраивать приоритет процессов — так онлайн-машине автоматически будут выделяться ресурсы, если она выполняет определённую задачу.
  • Virt-Manager. Предоставляет широкие возможности по настройке аппаратной составляющей — доступно виртуальное оборудование на любой вкус.

Облачные вычисления (удалённые серверы)

Если производительности всё равно не хватает для запуска игры, можно сделать это на удалённом сервере. Все расчёты, вся информация будет обрабатываться на нём. Так вам не помешают никакие ограничения, связанные с x32. Ведь по сути приложения будут «открываться» на подходящих системах. Только не на вашем компьютере.

Для этого подойдёт программа Microsoft Azure. С её помощью можно создать несколько операционок  для разных целей. Любителям игр также пригодится специализированный сервис виртуализации видеокарты NVIDIA GRID. Данным утилитам нужен высокоскоростной интернет.

Ультрасовременные облачные сервисы расширяют наши возможности

Работа с 64-разрядными приложениями на системе с 32 bit вполне возможна. Но нужно устанавливать дополнительный софт или, вообще, переходить на удалённый сервер. Сделать это достаточно сложно. Если вы хотите полноценно играть в Overwatch, Hurtword и другие популярные игры, лучше установить x64 ОС. Так не возникнет проблем с совместимостью. И не надо будет ничего настраивать.

nastroyvse.ru

Возможен ли запуск 64-битных приложений в 32-битной операционной системе?

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

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

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

В Mac OS X ядро является гибридным. Оно позволяет одинаково работать любым приложениям в независимости от того, являются ли они 32- или 64-битными. Единственное отличие гибридного ядра от полноценного 64-разрядного — это невозможность использовать в системе больше 32 ГБ оперативной памяти. Поэтому на данный момент нет совершенно никакой разницы между загрузкой в 32- и 64-битном режимах. А вот в будущем разница обязательно появится по мере увеличения объемов использования ОЗУ и появления новых технологий.

Для ОС семейства Linux и 32-битных ОС семейства Windows запуск 64-битных приложений в 32-битном окружении осуществляется с применением технологий виртуализации [2]. Существует ряд специализированных программных продуктов, позволяющих установить виртуальную гостевую 64-битную OC, в которую вы сможете инсталлировать требуемое вам приложение и осуществить его запуск. При этом, если устанавливаемая ОС платная, то вы вынуждены будете ее купить.

Виртуализация

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

Вот некоторые популярные решения:

Oracle VirtualBox - универсальная бесплатная виртуальная машина. VirtualBox - очень простой, мощный и бесплатный инструмент для виртуализации, развивающийся благодаря поддержке знаменитой корпорации Oracle. Он распространяется бесплатно, с открытым исходным кодом. VirtualBox позволяет устанавливать в качестве "гостевой" практически любую современную операционную систему, будь то Windows, Mac OS или любой из многочисленных представителей семейства Linux.

VMware Workstation - для серьёзных задач. VMware Workstation - мощная, платная, максимально-надёжная программа для виртуализации, которая поддерживает работу с Windows и Linux. Для виртуализации Mac OS данная машина не предназначена.

QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.

Аппаратная виртуализация

Для запуска гостевой 64-битной виртуальной машины в 32-битном окружении необходимо, чтобы процессор обладал 64-битной архитектурой и поддерживал технологии аппаратной виртуализации, такие как Intel VT-x и AMD-V. Иногда их необходимо вручную включить в BIOS вашей системы.

Облачные вычисления

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

В настоящее время широко развиваются технологии облачных вычислений [3]. Они позволяют развернуть любые ОС на удаленных серверах и запускать на них ваши приложения. При этом никаких ограничений на вашу 32-битную систему не накладывается, все расчеты производятся на удаленных машинах. Например, это Microsoft Azure, с помощью которой можно развернуть множество ОС и исполнять различные, в том числе и высокопроизводительные, приложения.

Часто вопрос о запуске 64-битных приложений на устаревающих 32-битных машинах стоит перед геймерами. Существуют специализированные облачные решения и для таких задач. Например, NVIDIA GRID. GRID воспроизводит 3D игры на облачных серверах, мгновенно кодирует каждый кадр и передает результаты на любое устройство с проводным или беспроводным высокоскоростным подключением к сети Интернет.

Заключение

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

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

www.viva64.com

Запуск 64-разрядных программ на 32-битной системе Bilee

Вы не можете (обычно) запускать 64-разрядные программы на 32-разрядной ОС.

См. Другой ответ Хеннса для (не рекомендованного) обходного пути.

Является ли ваш ПК 64-битным?

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

Если вы видите «32-разрядную операционную систему, процессор на базе x64», это означает, что вы используете 32-разрядную версию Windows 10, но ваш процессор может работать с 64-разрядной версией. Если он не говорит, что у вас есть процессор на базе x64, у вас есть 32-разрядный процессор и не может перейти на 64-разрядную версию.

У вашего процессора есть требуемые функции?

Некоторые из первых 64-разрядных процессоров не имеют необходимых функций для запуска 64-разрядных версий Windows 10, даже если они совместимы с 64-разрядными версиями. В частности, Windows 10 требует PAE, SSE2 и NX. У Microsoft есть больше информации об этом здесь . ПК также нуждаются в поддержке CMPXCHG16b , к которой не относятся некоторые из первых потребительских 64-разрядных процессоров.

64-разрядная версия Windows 10 откажется устанавливать, если ваш процессор не поддерживает эти вещи. Если вы хотите проверить, прежде чем начать процесс установки, загрузите и запустите CPU Z.

«SSE2» появится в разделе «Инструкции», если он поддерживается. «EM64T» или «AMD64» должны указывать, что PAE поддерживается. «VT-x» или « VT-d » всегда указывает, что поддерживается NX.

На некоторых старых компьютерах вам может потребоваться включить NX (иногда называемый XD) в BIOS компьютера. Если вы получите сообщение об ошибке, когда ваш процессор не поддерживается во время процесса установки, зайдите в BIOS вашего компьютера и найдите вариант под названием «Без бита eXecute (NX)», «Отключить eXecute (XD)», «No Execute Memory Protect» »,« Выключить защиту от отказа »,« EDB («Выполнять отключенный бит»), «EVP (Enhanced Virus Protection)» или что-то подобное. Посмотрите под вкладками «Безопасность» или «Дополнительно» где-нибудь в вашем BIOS для этого параметра.

Аппаратное обеспечение вашего ПК предлагает 64-разрядные драйверы?

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

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

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

Сделайте чистую установку

Вам нужно будет выполнить чистую установку, чтобы перейти к 64-разрядной версии Windows 10 с 32-разрядной версии. Нет пути обновления.

Предупреждение. Перед продолжением создайте резервные копии важных файлов . Этот процесс уничтожит установленные программы и файлы.

Во-первых, если вы еще не обновили до Windows 10, вам нужно будет использовать инструмент обновления для обновления. Вы получите 32-разрядную версию Windows 10, если ранее вы использовали 32-разрядную версию Windows 7 или 8.1. Но процесс обновления предоставит вашему компьютеру лицензию Windows 10. Убедитесь, что ваша текущая 32-разрядная версия Windows 10 активирована в разделе «Настройки»> «Обновление и безопасность»> «Активация».

После того, как вы уже используете активированную версию Windows 10, загрузите средство создания мультимедиа Windows 10 из Microsoft . Если вы используете 32-битную версию Windows 10 на данный момент, вам придется загрузить и запустить 32-битный инструмент.

Выберите «Создать установочный носитель для другого ПК» и используйте этот инструмент для создания USB-накопителя или записи диска в Windows 10. Когда вы нажмете мастер, вы спросите, хотите ли вы создавать 32-разрядные или 64-разрядные Установка носитель информации. Выберите 64-битную архитектуру.

Затем перезагрузите компьютер и загрузитесь с установочного носителя. Установите Windows 10, выбрав «Custom install» и перезапишите текущую версию Windows. Когда вас попросят вставить ключ продукта, пропустите процесс и продолжите. Вам придется пропустить два из этих запросов в общей сложности. После того, как вы дойдете до рабочего стола, Windows 10 автоматически зарегистрируется в Microsoft и активирует себя. Теперь вы будете запускать 64-разрядную версию Windows на своем ПК.

Если вы хотите вернуться к 32-разрядной версии Windows, вам потребуется загрузить средство создания медиа – 64-разрядного, если вы используете 64-разрядную версию Windows 10, – и используйте его для Создать 32-разрядный установочный носитель. Загрузите с установочного носителя и переустановите 32-разрядную версию поверх 64-разрядной версии.

Источник Как переключиться с 32-разрядной Windows 10 на 64-разрядную Windows 10

www.bilee.com

Урок 2. Поддержка 32-битных приложений в 64-битной среде Windows

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

WoW64 (Windows-on-Windows 64-bit) - подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Накладные расходы

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента - это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими, как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Преимущество 64-битной среды для 32-битных программ

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Перенаправления

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN "Running 32-bit Applications".

Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?

Загрузить 32-битную DLL из 64-битного процесса и выполнить код из неё невозможно. Невозможно в силу дизайна 64-битных систем. В принципе, невозможно. Не помогут ни хитрости, ни недокументированные пути. Для этого нужно загрузить и проинициализировать WoW64, не говоря уже о структурах в ядре. Фактически нужно будет на лету превратить 64-битный процесс в 32-х битный. Подробнее эта тема рассмотрена в посте "Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс". Единственное, что можно порекомендовать, - это создание суррогатного процесса и взаимодействия с ним посредством технологии COM. Об этом рассказывается в статье "Accessing 32-bit DLLs from 64-bit code".

А вот загрузить ресурсы из 32-битной DLL в 64-битный процесс совсем несложно. Это можно сделать, если при вызове LoadLibraryEx указать флаг LOAD_LIBRARY_AS_DATAFILE.

Постепенный отказ от поддержки 32-битных программ

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

Многие администраторы знают про относительно новый режим установки и работы серверной версии операционной системы под названием Server Core. Это тот режим, о котором участники войн "Windows vs Linux" говорили очень давно. Одним из аргументов сторонников использования Linux на сервере была возможность установить серверную ОС без графического интерфейса (GUI). Но вот и в Windows Server появилась такая возможность. Установка в этом режиме позволяет получить только командную строку без пользовательского интерфейса.

Эта возможность (установка Server Core) появилась в Windows Server 2008. Но в Windows Server 2008 R2 появилось нововведение, приближающее 64-битное будущее. При установке Windows Server 2008 R2 (Server Core) поддержка запуска 32-битных приложений стала опциональной. Причем по умолчанию эта поддержка выключена. И при попытке запуска 32-битного приложения в режиме Server Core пользователь получит сообщение о невозможности запуска. Конечно, можно добавить поддержку 32-битных программ:

start /w ocsetup ServerCore-WOW64

В обычном (Full Installation) режиме 32-битные приложения по умолчанию запускаются, а вот в Server Core уже нет.

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

Дополнительная информация

Интересным источником информации по системе WoW64 является блог Алексея Пахунова: http://blog.not-a-kernel-guy.com/. Алексей является сотрудником компании Microsoft и принимает непосредственное участие в разработке подсистемы WoW64.

Авторы курса: Андрей Карпов ([email protected]), Евгений Рыжков ([email protected]).

Правообладателем курса "Уроки разработки 64-битных приложений на языке Си/Си++" является ООО "Системы программной верификации". Компания занимается разработкой программного обеспечения в области анализа исходного кода программ. Сайт компании: http://www.viva64.com.

www.viva64.com

Windows x64 - Почему все ещё так много 32-разрядных программ?

Ваш компьютер, вероятнее всего, работает на 64-разрядной версии Windows. Но если открыть «Диспетчер задач», то Вы увидите, что большинство программ в Вашей системе все еще 32-разрядные. Действительно ли это проблема?

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

Как узнать разрядность программы?

Давайте воспользуемся диспетчером задач, чтобы увидеть, какие из ваших программ являются 64-разрядными, а какие 32-разрядными. Щелкните правой кнопкой мыши на панели задач и выберите пункт «Диспетчер задач» или нажмите комбинацию клавиш Ctrl + Shift + Esc, чтобы открыть его.

Посмотрите на столбец с названиями процессов. Если Вы будете использовать 64-разрядную версию Windows 8.1 или 8, то Вы увидите слово «(32-bit)» после каждого имени 32-разрядной версии программы. Если Вы будете использовать 64-разрядную версию Windows 7, то Вы увидите вместо этого «*32».

32-разрядные программы обычно устанавливаются в папку C:\Program Files (x86)\ на 64-разрядных версиях Windows, в то время как 64-разрядные программы обычно устанавливаются в папку C:\Program Files\. Это — просто правило. Но ни кто не говорит, что нет другого правила, в котором запрещается устанавливать 64-разрядные программы в папку C:\Program Files (x86)\. Например, Steam — 32-разрядная программа, таким образом, она устанавливается в «C:\Program Files (x86)\» по умолчанию. Игры, которые Вы устанавливаете в Steam, установлены в папку C:\Program Files (x86)\Steam по умолчанию, в т.ч. даже 64-разрядные версии игр.

Если Вы сравните две различные папки Program Files, то Вы найдете, что большинство Ваших программ, вероятнее всего, установлены в папку C:\Program Files (x86). И, эти программы в большинстве своём являются 32-разрядными.

Работа 32-разрядного программного обеспечения на 64-разрядной операционной системе

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

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

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

64-битные программы и 32-битные программы: что лучше?

32-битные программы запускаются без проблем на 64-битных версиях операционных систем Windows. Но было бы лучше, если бы все ваши программы были бы 64-битными?

Есть определенно преимущества у 64-битных программ. 32-разрядные программы могут использовать только 2 ГБ памяти, в то время как 64-битные программы могут использовать гораздо больше. Если программа, скорее всего, попала под атаку, дополнительные функции безопасности, применяемые к 64-битных программ, могут помочь. Google Chrome в настоящее время является 32-битным приложением даже на 64-битных версиях ОС Windows, но уже появилась 64-битная бета версия этой программы. И Google обещает, что 64-битная версия Chrome будет быстрее, более безопасной и более стабильной.

Некоторые программы предлагают 64-разрядные версии. Например: Photoshop, Itunes, Microsoft Office, и некоторые из самых популярных программ для Windows, и все они доступны в 64-битном виде. Последние игры тоже часто являются 64-разрядными, чтобы они могли использовать более 2 ГБ памяти.

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

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

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

Где найти 64-разрядные приложения

Вы, как правило, не будете способны выбирать между 32-битной и 64-битной версий программного обеспечения. Например, при установке Itunes для Windows, веб-сайт компании Apple автоматически направляет вас к 32-разрядной или 64-разрядной версии установщика в зависимости от версии Windows. При установке Photoshop для Windows, как правило устанавливаются и 32-разрядные, и 64-разрядные исполняемые файлы. Photoshop автоматически выбирает из них. Иногда вы можете увидеть отдельные ссылки для загрузки 32-битных и 64-битных версий программ, но это не так распространено.

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

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

itchief.ru

Работают ли 32-битные программы под 64-битной Windows 7

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

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

Это интересно:

Оптимизация Windows. Устаревшие программы, которые были рассчитаны на 32-разрядную операционную систему Windows, нельзя запускать на 64-разрядной Windows 7. Ведь при установке они не толко не будут работать, но и могут нанести вред Вашей операционной системе.

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

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

winsecrets.ru

Запуск 64-битных программ в 32-битном режиме – Проект AppStudio

В Mac OS X Snow Leopard 64-битность вышла на новый уровень: многие системные приложения были переведены на 64-разрядную архитектуру, более того, даже ядро и системные расширения стали 64-битными. Казалось бы, зачем может понадобиться запускать программу, поддерживающую 64-битность, в старом, 32-битном режиме?

Для ответа на данный вопрос почитайте нашу предыдущую запись. Как видно на примере Logic Studio, иногда 64-разрядность делает невозможными ряд функций. Сейчас мы покажем, как запустить 64-битное приложение Mac OS X в 32-разрядном режиме.

Для начала рекомендуем удостовериться, что приложение работает в 64 битах. Запустите проверяемую программу, а потом запустите через Spotlight или из папки Программы/Служебные программы утилиту Мониторинг системы. Обратите внимание на столбец «Тип»: 32-битную программу выдаст обычная надпись Intel:

Опознание 64-битных программ

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

Настроить режим работы программы можно из её свойств. Кликните правой кнопкой по интересующему вас приложению и выберите пункт «Свойства» (или выберите его мышкой и нажмите на клавиатуре Cmd+I). У каждой программы, рассчитаной на архитектуру x64, в верхней секции обнаружится следующий пункт:

Safari как пример 64-битного софта

Думаем, нет смысла обяснять, что случится, если вы поставите галочку «Открыть в 32-битном режиме».

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

А вот iTunes 64-битность не держит

Кстати, всё вышеописанное прекрасно работает в Mac OS X Leopard, правда, 64-разрядных программ для Леопарда гораздо меньше, а из встроенных в Mac OS X — вообще одно (шахматы).

appstudio.org