Может ли 64-битное программное обеспечение работать на 32-битной ОС?

Может ли 64-битное программное обеспечение работать на 32-битной ОС?

У меня есть 64-битная машина с установленными Windows 7 32-бит и Ubuntu 32-бит в качестве двойной загрузки. Могу ли я запустить 64-битное программное обеспечение поверх этих 32-битных ОС, или они являются "узким местом", ограничивающим истинные возможности базового оборудования?

решение1

Теоретически я думаю, что нет.

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

решение2

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

Поэтому, если ваше ядро ​​(ОС) поддерживает только 32-битные операции, приложения, использующие 64-битные, работать не будут.

Что касается виртуальных машин, ваше оборудование не обязательно должно быть 64-битным, чтобы симулировать 64-битную среду внутри 32-битной ОС. Вот пример8-битный микроконтроллер AVR, работающий на 32-битном ядре Linuxс помощью эмулятора. Эмуляция занимает много времени, поэтому около 24 МГц, которые получают чипы, уменьшаются до чего-то в диапазоне килогерц (на самом деле 10 кГц).

Итак, да, запуск 64-битного ПО внутри 32-битной ОС (внутри виртуальной машины) на любом оборудовании создаст узкое место. Лучше установить 64-битную ОС, если у вас есть оборудование.

Связанный контент