У меня есть 64-битная машина с 32-битной Windows 7 и 32-битной Ubuntu, установленной как установка с двойной загрузкой. Могу ли я запускать 64-разрядное программное обеспечение поверх этих 32-разрядных ОС или они являются "узким местом", ограничивающим реальные возможности базового оборудования?
2 ответа
Ваша операционная система - это ваш интерфейс к базовому оборудованию. Приложения в современных операционных системах не имеют прямого доступа к оборудованию и могут использовать его только через системные вызовы через ядро.
Поэтому, если ваше ядро (ОС) поддерживает только 32-битные операции, приложения, использующие 64-битные, не будут работать.
Что касается виртуальных машин, ваше оборудование не должно быть 64-битным для имитации 64-битной среды внутри 32-битной ОС. Есть пример 8-битного микроконтроллера AVR, работающего с 32-битным ядром Linux с использованием эмулятора. Независимо от того, что эмуляция занимает много времени, таким образом, приблизительно 24 МГц этих чипов уменьшаются до чего-то в диапазоне килогерц (на самом деле 10 кГц).
Так что, да, запуск 64-битного программного обеспечения внутри 32-битной ОС (внутри виртуальной машины) на любом оборудовании создаст узкое место. Лучше установить 64-битную ОС, если у вас есть оборудование.
В теории я думаю нет.
Но один из обходных путей - запускать программное обеспечение на 64-битной виртуальной машине, размещенной на вашей 32-битной ОС, поскольку вы упомянули, что ваша машина является 64-битной.