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


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

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

Overwatch 64-бит на 32-бит

Для этого надо, чтобы компьютер соответствовал требованиям, необходимым для нормальной работы приложения. Процессор должен изначально иметь 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 (это защита девайса от переполнения буфера) и аппаратную визуализацию. Можно кликнуть на любой из результатов — появится его описание.

SecurAble оценит возможности процессора

Проверка поддержки процессором 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. Дождитесь окончания процесса. В списке доступных появится новая.
Интерфейс менеджера Oracle Virtual Box

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

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

  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. Данным утилитам нужен высокоскоростной интернет.

Виртуализация 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

Как запустить 32-битное приложение?

#1

64 битные системы очень плотно вошли в жизнь самого обычного пользователя. Мало кто знает, но производство действительно натуральных 32 битных систем закончилось ещё в далеком 2008 году на системе WindowsServer 2008. Все же нынешние «х32 системы» работают на 64 ядре, но слой обработки х32 заставляет запускаться и х32 приложения, со всеми вытекающими минусами х32 (они же х86) систем в лице максимальной ОЗУ в 2 Гб и так далее. Х64 системы лишены этой проблемы, но запустить 32-битное приложение на Х64 системе можно далеко не всегда.

#2

Как правило, многие современные приложения уже на программном уровне оптимизированы для запуска под 64-битные системы. Но всё же остаются и те, которые запускаются только на х32 системах. Заставить систему запускать 32-битный компилятор можно. Для этого нужно в консоли прописать новые команды для среды. Самым простым способом станет прописывание всего 2 команд – это «start /w ocsetup ServerCore-WOW64» и «start /w ocsetup NetFx2-ServerCore-WOW64». Но стоит заметить, что и такой способ работает не всегда и 32-битные библиотеки приходится вручную выставлять для компиляции и принятия в Х64 системах. Данный процесс очень прост, достаточно нажать Win+Rи в открывшемся окошке ввести «%systemroot%\SysWOW64\regsvr32. exe » где dll’snameбудет именем регистрируемого файла окружения. Это позволяет моментально зарегистрировать файл в Х64 системе.

#3

Но проблемы с 32-битным режимом возникают не только у программ, но и у скриптов. Но благо у большинства из них есть полноценный 32-битный режим запуска скрипта. Он позволяет автоматически выполнить скрипт со всеми условия Х64 системы, при этом не нарушая порядка и расположения скриптовых строк автоматически адаптируя их под новую систему. Делается это по аналогии с предыдущим методом, но вписать в окошко нужно "%systemroot%\SysWOW64\cscript. exe " где scriptname – это имя исполняемого скриптового события. Это позволит использовать так называемый VB-скрипт ( VisualBasic) . Именно на нем и пишутся все 64-битные приложения.

#4

Хотелось бы сделать небольшую поправку. Регистрация 32-битной dll возможна только в том случае, если изначально файл писался именно под 32 версию системы, а не на 16 битном редакторе. Это было сказано потому, что многие пытаются запускать скомпилированные Турбо Паскалем программы в Х64 среде.

uznay-kak.ru

Урок 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

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

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

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

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

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

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

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

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

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

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

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

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

appstudio.org

Как запустить 64-битную игру?

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

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

Почему 64-битные игры не запускаются?

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

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

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

Как запускать 64-битные игры?

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

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

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

В заключение

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

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

gamesqa.ru