Может ли 64 битная программа работать в 32 битной системе

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

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

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

Что лучше 32 или 64 разрядная система, чем отличаются 32 и 64 бит версии Windows? Повышаем градус 4

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

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

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

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

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

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

32 или 64 битная система! В чем Разница?

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 игры на облачных серверах, мгновенно кодирует каждый кадр и передает результаты на любое устройство с проводным или беспроводным высокоскоростным подключением к сети Интернет.

Заключение

Могу я запускать 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

#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битные регистры

Читайте также:
Какая программа распознавания текста является наиболее известной adobe acrobat reader

А почему нельзя в 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-битные системные библиотеки, и наоборот.

Чтобы справиться с этой проблемой, большинство 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

Разрядность программ 32 и 64 бита: что это значит?

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

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

Что такое разрядность?

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

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

Читайте также:
Что будет напечатано программой program ex

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

Важный момент касается оперативной памяти.

32-битные процессоры распознают ограниченный объем ОЗУ – не более 4 ГБ. 64-битные такого жесткого лимита не имеют. Соответственно, чтобы пользоваться большим количеством оперативной памяти – свыше 4 ГБ – в компьютере должен стоять 64-битный ЦПУ и вся аппаратная часть (отчасти и программная тоже) должна быть подобрана таким образом, чтобы весь установленный объем ОЗУ мог быть задействован.

Теоретически у 64-разрядных процессоров тоже есть ограничение по «видимости» ОЗУ – 16,8 миллионов ТБ. Но в обозримом будущем в компьютерах не будет использоваться и сотой доли этого числа.

Разрядность существует не только у приложений, но и у операционных систем.

Базовые версии Microsoft Windows имеют разрядность 32 бита. В них приложения испытывают те же ограничения по объему используемой оперативной памяти. Даже в самой совершенной и профессиональной версии Windows базового уровня 4 ГБ – это максимальный объем ОЗУ, который может быть задействован приложениями.

Когда 64-разрядные процессоры стали доступны широкому кругу потребителей, Microsoft и Apple начали проектировать 64-разрядные ОС, без которых пользователи не увидели бы прироста вычислительной мощности. Первой полностью 64-битной ОС стала Mac OS X Snow Leopard 2009 года выпуска, а первым смартфоном с 64-битным чипсетом стал iPhone 5s на базе Apple A7.

На официальном сайте Microsoft есть страница, где перечислены ограничения по памяти для различных версий Windows, включая серверные сборки. Но в целом, если вы работаете на последней версии Windows 10, о каких-либо лимитах беспокоиться не стоит.

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

На самом деле далеко не всем программам требуется более 4 ГБ оперативной памяти. Это требование характерно для графических и CAD-редакторов, современных видеоигр и т.п. Менее требовательные к ресурсам приложения могут разрабатываться на основе 32-разрядной архитектуры и успешно запускаться в 64-битной среде без дополнительных настроек. Исключением из правила являются антивирусы и драйвера: для корректной работы их архитектура должна соответствовать архитектуре среды.

То же самое, да не совсем

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

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

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

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

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