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

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



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;



Найденные ошибки

Проверено проектов
346
Собрано ошибок
13 188

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;