Как запустить программу 64 бит на 32 бит Windows

В 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-битный софт.

itunes32

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

Источник: appstudio.org

Могу я запускать 64-битные приложения в 32-битной win xp?

Могу я запускать 64-битные приложения в 32-битной win xp? Если процессор у меня 64-битный.

#1
6:18, 10 фев 2010
#2
6:26, 10 фев 2010

Ограничено можешь, гугли эмуляторы.

#3
9:04, 10 фев 2010

ставь WinXP 64, и юзай эмуляторы для совместимости с 16-бит)))
вопрос:
будут ли у меня работать в 64-битной XP 32-битные приложения ? 16-битные приложения ?
я как понял нужны эмуляторы.

#4
10:50, 10 фев 2010

xvg07
Нет, наоборот можешь.

#5
10:53, 10 фев 2010

xvg07
> Могу я запускать 64-битные приложения в 32-битной win xp?
Как минимум через эмулятор. В 32 битной винде врятли.

#6
12:18, 10 фев 2010

Через виртуальную машину можно.

#7
13:18, 10 фев 2010

Если ассемблерная вставка 64-битных опкодов в секцию кода 32-битного PE? Вопрос ещё в том, как перевести процессор в 64-битный режим из 32-bit compatible mode и что при этом случится с win32. зы: компилятор в машинные коды на Delphi

Читайте также:
Разрешение запуска программы через брандмауэр Windows

#8
13:46, 10 фев 2010

> Нет
> Нет, наоборот можешь.
xvg07
Не верь. Можешь смело запускать. Только они работать не будут.

#9
16:40, 10 фев 2010

То что процессор 64-битный может работать с большим объемом памяти чем 32-битный это понятно. А чем отличается 64-битная ОС от 32-битной ?

#10
16:54, 10 фев 2010

grizzly
> А чем отличается 64-битная ОС от 32-битной ?

Работает в 64битном режиме, => можно использовать 64битные регистры

ЗЫ.
А в виндах выпилили совместимость с 16бит приложениями DOS/Windows. Теперь чтобы поиграть в MOO, нужен DosBox или виртуалка с Win98.

#11
20:18, 10 фев 2010

oistalker
> Теперь чтобы поиграть в MOO, нужен DosBox или виртуалка с Win98.
Всёравно совместимось винды с 16 битными или ДОС приложенияли оставляла желать лучшего.

#12
22:59, 10 фев 2010

dmikos
> Ограничено можешь, гугли эмуляторы.

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

Executor
> Нет, наоборот можешь.
Почему ведь меняется только размер команд, все регистры в процессоре есть.

oistalker
> Работает в 64битном режиме, => можно использовать 64битные регистры

А почему нельзя в 32-битных ос использовать те же 64-битные регистры? Ведь они часть процессора, а не ОС.

tmtlib
С win32 вроде ведь ничего не должно случиться, ведь просто увеличится размер регистров. Разве не так?

#13
23:15, 10 фев 2010

xvg07
> А почему нельзя в 32-битных ос использовать те же 64-битные регистры? Ведь они
> часть процессора, а не ОС.

Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).

«Длинный» режим — «родной» для процессоров AMD64. Этот режим позволяет воспользоваться всеми дополнительными возможностями, предоставляемыми архитектурой AMD64.

Для использования этого режима необходима 64-битная операционная система, например, Windows XP Professional x64 Edition, Windows Vista x64, Windows 7 x64 или 64-битные варианты UNIX-подобных систем GNU/Linux, FreeBSD, OpenBSD, NetBSD (чистые 64-битные сборки, однако, есть возможность запуска 32-битных приложений), Solaris (смешанная 32/64 сборка с разными ядрами для 32- и 64-битных процессоров), Mac OS X (смешанная 32/64 сборка с 32-битным ядром, начиная с версии 10.4.7). Этот режим позволяет выполнять 64-битные программы; также (для обратной совместимости) предоставляется поддержка выполнения 32-битного кода, например, 32-битных приложений, хотя 32-битные программы не смогут использовать 64-битные системные библиотеки, и наоборот.

Читайте также:
Как восстановить программы по умолчанию Windows 7

Чтобы справиться с этой проблемой, большинство 64-разрядных операционных систем предоставляют два набора необходимых системных файлов: один — для родных 64-битных приложений, и другой — для 32-битных программ. (Этой же методикой пользовались ранние 32-битные системы — например, Windows 95 — для выполнения 16-битных программ). В «длинном» режиме упразднен ряд «рудиментов» архитектуры x86, таких, как режим виртуального 8086, сегментированная модель памяти (однако, осталась возможность использования сегментов FS и GS, что полезно для быстрого нахождения важных данных потока при переключении задач), аппаратная мультизадачность, а также ряд команд, как реализующих упраздненные возможности, так и работающие с BCD-числами, которые в новых программах практически не использовались. Среди особенностей «длинного» режима, следует отметить тот факт, что он активируется установкой флага CR0.PG, который используется для включения страничного MMU (при условии что такое переключение разрешено (EFER.LME=1), в противном случае просто произойдет включение MMU в «наследственном» режиме). Таким образом, невозможно исполнение 64-битного кода с запрещенным страничным преобразованием. Это создает определенные трудности в программировании, поскольку при переключении из «длинного» в «наследственный» режим и обратно (например, для вызова функций BIOS или DOS, монитором виртуальной машины, и т. д.) требуется двойной сброс MMU, для чего код переключения должен находиться в тождественно отображённой странице.

Legacy Mode

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

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

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

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

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

Читайте также:
Программа paint в системе Windows это редактор

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru