вполне возможно, что человек, который ответил на ваш оригинальный комментарий перестал работать 64-битных ОС (по видимому имеется ввиду тот, который использует память за что адресоваться за 32-битный защищенный режим и использует 64-битные регистры), которые устанавливает и сапоги на процессорах ограничено до 32-бит памяти или использует более широкие аппаратные регистры. В последнем разделе приведен реальный пример установки 64-битной ОС на 32-битное оборудование. Промежуточные разделы объясняют, почему не только такая ОС может быть установленный, его можно даже использовать (в теории).
техническое описание
есть две основные вещи, которые можно было бы ожидать в 64-битной ОС. Первый-памяти адресуемой за 4GiB. Так как 64-битные машины на основе BIOS загружаются в 16-битном (он же реальный) режиме, можно написать ОС, которая прыгает и из длинного, 64-битный режим памяти для определенных операций (см., например, https://www.codeproject.com/articles/45788/the-real-protected-long-mode-assembly-tutorial-for как можно выйти из 64-битного режима). Или, в моно среде задач, перейти в длинный режим для некоторых программ. Для 32-разрядных программ DOS было обычным входить и выходить из 32-разрядного режима через расширитель DOS для запуска. Научная вычислительная платформа может также сделать что-то подобное, чтобы воспользоваться преимуществами производительности 32-разрядного кода (да! 32-битный код может быть быстрее, чем 64-битный код!) за исключением случаев, когда это необходимо.
вторая вещь, которую можно ожидать в 64-битной ОС-это 64-битные регистры. Но можно легко оставаться в режиме низкого бита и переключаться на режимы более высокого бита по мере необходимости. Можно иметь одну программу, содержащую смесь 16-, 32-и 64-разрядного кода регистра. Для переключения размеров регистров используется префикс переопределения размера операнда (префиксы опкодов 0x66 и 0x67), хотя эта последняя деталь обычно обрабатывается компилятором и невидима для большинства программистов.
теоретический пример
можно написать ОС, которая использует только 64-бит в некоторых частях ОС. Такая ОС легко поддается воображению. 32-разрядная ОС, портируемая на 64-разрядную, может начинаться только с 64-разрядной (что делает ее 64-разрядной). Предположим, что первым портирован аудио драйвер; такая ОС может работать нормально, пока не будет воспроизведен аудиофайл. Я предполагаю, что это происходит в сцене любительской ОС с некоторой регулярностью, поскольку кто-то хочет немного поэкспериментировать с 64-битами или хочет повысить скорость определенного набора операций ОС.
реальный пример установки 64-битной ОС на 32-битной машине
реальный пример сочетания 64-битного и 32-битного кода-MacOS (версии ~10.5-10.7). На 64-разрядном Intel Mac эти версии MacOS могут загружаться в 32-разрядном режиме ядра и запускать 64-разрядные приложения 64-разрядного кода операционной системы userspace. На 32-разрядной машине компьютер все еще загружается. Однако вместо сбоя компьютера при попытке запуска 64-разрядных приложений MacOS просто отказывается запускать приложение.
обратите внимание, что одна и та же дисковая ОС установлена на 32-разрядных и 64-разрядных компьютерах Mac. Вы можете установить MacOS на 32-разрядный Mac, удалить диск и поместить его в 64-разрядный Mac и загрузить 64-разрядное ядро. И, конечно же, сцена Hackintosh доказывает, что вы можете установить MacOS на общую 32-разрядную машину.