7 шагов по переносу программы на 64-битную систему

Алан-э-Дейл       25.08.2023 г.

Ответы на частые вопросы

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

Вопрос Ответ
Какой процессор x86? Любой 32-разрядный, совместимый с ПК
Нужны ли 64-разрядные драйверы для устройств при работе в 64-разрядной версии Windows? Обязательно. Драйверы устанавливаются в соответствии с выбранной операционной системой
Как сменить разрядность операционной системы? Никак. Только переустановкой. Предварительно необходимо сохранить все важные данные
32 или 64 бит: какую ставить систему и как определить? Если процессор 32-разрядный, то можно ставить только 32-разрядную версию ОС. Если процессор 64-бит, то следует руководствоваться всеми остальными системными требованиями
Почему следует устанавливать 64-битную версию операционной системы? Если ваш компьютер достаточно современный (не старше 7-8 лет) то он обязательно поддерживает 64-разрядные системы, и именно этот вариант раскрывает все возможности данного компьютера полностью
Какая «семерка» лучше — 32-х или 64-х разрядная Здесь скорее нужно говорить о «железе», если компьютер достаточно новый, то лучше, конечно-же 64-разрядная
Можно ли запускать 32-разрядные программы и драйвера на 64-разрядном компьютере? В подавляющем большинстве случаев можно, если используется архитектура amd64 (она же x86-64). Кроме того, в Windows 7, например, имеется режим эмуляции Windows XP, который дает дополнительные возможности для этого. Однако есть случаи несовместимости и придется использовать 64-разрядные версии таких приложений
Какие недостатки есть у 64 битной Windows? Повышенные требования к памяти, и больше места на диске. Но это является проблемой только для старых компьютеров

Оборудование компьютеров

Внутреннее устройство процессора (архитектура) 8086 оказалось достаточно удачным, чтобы дать еще целое семейство процессоров, последовательно улучшаемых на протяжении долгого времени. Очередная модель получила обозначение 80186, и в дальнейшем, вплоть до Pentium, третья цифра в обозначении микросхем последовательно возрастала.

Удачное внутреннее устройство процессора (архитектура) 8086, после которого стало появляться семейство улучшенных процессоров

Именно из-за способа обозначения чипов, в общем, внутренней проблемы производителя, появилось “загадочное” обозначение x86. Потребителя обычно такие вещи совершенно не интересуют. x86 – это просто собирательное имя для 186, 286, 386 и т.д. Не следует путать его с x64. Все очень просто: архитектуру 32-разрядных компьютеров называют x86, а 64-разрядных – x86-64.

До 80386 шина процессора была 16-разрядной, и это должно было учитываться при написании кода. Поскольку в программах очень часто используются 32-разрядные числа, а иногда и 64-разрядные, то 16-разрядный процессор должен был обрабатывать их “в несколько приемов” (машинных инструкций) что замедляет работу программ.

Архитектура 64-разрядных – x86-64 процессоров

С появлением 80386-го процессора производительность компьютера стала резко возрастать, по причинам, отмеченным в предыдущем абзаце. Теперь большие числа стали обрабатываться за одну машинную команду. Но не только производительность. Очень ценной оказалась возможность увеличить адресуемую память – вплоть до 4 гигабайт (хотя для приложений доступно несколько меньше, около 3). Кроме расширения регистров и шин, одновременно росла и тактовая частота процессоров, появился конвейер, суперскалярная архитектура и т.п. В эпоху 32-битных машин произошли революционные изменения в технике.

В начале 2000-х годов появились 64-разрядные процессоры. Не все они оказались удачными. Например, Intel Itanium (архитектура IA-64), при всех своих преимуществах оказался плохо совместимым со многими 32-разрядными программами, которые работали на нем еще хуже, чем на других машинах. За что получил прозвище “Итаник” (от слова Титаник) и скоро был снят с производства.

Intel Itanium (архитектура IA-64), при всех своих преимуществах оказался плохо совместимым со многими 32-разрядными программами

64-разрядные процессоры AMD (компания Advanced Micro Devices) оказались намного более практичными, так как это было очередное расширение x86, причем была достигнута очень высокая степень обратной совместимости. Это означает, что 32-разрядные программы на таких процессорах выполняются без потери скорости и при поддержке любого машинного кода.

64-разрядные процессоры AMD более практичные и имеют высокую степень обратной совместимости

Созданная AMD архитектура команд для новых процессоров получила несколько названий, означающих одно и то же:

  • x86-64;
  • Amd64;
  • Intel64.

Oracle и Microsoft используют для этой архитектуры термин x64, так что его тоже можно добавить в этот список.

Операционные системы

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

Совместимость 32-х и 64-разрядных операционных систем с 32-х и 64-битными процессорами

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

  • запуск старых программ на новом процессоре;
  • эмуляция, запуск в среде виртуальной машины;
  • перекомпиляция исполняемых файлов под новый процессор;
  • изменение программного кода и повторная компиляция;
  • написание программного кода “с нуля”.

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

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

Программы имеют не только исполнительный файл, но и файлы dll, которые могут помешать работе в определенной операционной системе

В таблице ниже перечисляются некоторые различия между распространенными операционными системами используемыми на ПК.

Операционная система Разрядность, бит Ядро Минимум памяти для работы Минимум на жестком диске Частота процессора, минимум Число задач Число пользователей Состояние на 2018 год
CP/M 8 Монолитное 16 Кб 1-5 MHz 1 1 Историческое
86-DOS 16 Монолитное 32 Кб 4-16 MHz 1 1 Историческое
MS DOS 16 Монолитное 64 Кб 4 MHz 1 1 Историческое
Windows 3.1 16 MS-DOS 3.1 и выше 640 Кб 6.5 Mb 4 MHz 1 1 Историческое
Windows 95 16 Монолитное 4 Мб 50 Mb 16 MHz Многозадачная 1 Историческое
Windows 98 32 Монолитное 16 Мб 195 Mb 66 MHz Многозадачная 1 Историческое
Windows ME 32 Монолитное 32 Mb 200 Mb 155 MHz Многозадачная 1 Историческое
Windows 2000 32 Гибридное 32 Mb 2 Gb 133 MHz Многозадачная 1 Историческое
Windows XP 32, 64 Гибридное 64 Mb 1.5 Gb 233 MHz Многозадачная 1 Прекращена основная поддержка
Windows Vista 32, 64 Гибридное 384 Mb 20 Gb 800 MHz Многозадачная 1 Историческое
Windows 7 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Прекращена основная поддержка
Windows 8 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Не поддерживается
Windows 10 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Поддерживается

Что такое разрядность 32 и 64 бит?

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

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

Большинство компьютеров, созданных в 1990-х и начале 2000-х годов, имеют 32-разрядную систему, которая может получить доступ к 2 ^ 32 (или 4 294 967 296) байтов (единицам цифровой информации) ОЗУ (оперативной памяти). Лишь немногие из компьютеров, работающих в мире, сегодня используют операционную систему, которая использует 32-разрядную архитектуру управления памятью (шина данных). Они обычно называются системами X86 (это относится к первым 32-битным 286 \ 386 \ 486 системам). Сегодня на рынке осталось немного 32-битных операционных систем.

Между тем 64-разрядный ЦП может обрабатывать 2 ^ 64 (или 18 446 744 073 709 551 616) байтов ОЗУ. Другими словами, 64-разрядный процессор может обрабатывать больше данных, чем 4 миллиарда 32-разрядных процессоров вместе взятых.

Как определить разрядность компьютера

Способы определения разрядности компьютера

Первый способ

Одним из способов является переход в меню BIOS компьютера. На разных машинах для этого могут быть свои клавиши, используемые в начале загрузки. Обычно подсказка для перехода в меню BIOS находится внизу экрана и у пользователя есть некоторое время чтобы войти туда, т.е. успеть нажать требуемую клавишу. Если пользователь ничего не предпринимает, загрузка продолжается, как обычно.

  1. Включите питание компьютера.
  2. Дождитесь появления диагностики POST. Здесь уже во второй строке видно, какой именно процессор установлен: Pentium Dual-Core E5200.

    Во время диагностики POST во второй строке можно увидеть данные процессора, по которым можно узнать разрядность компьютера

  3. Но этот экран довольно быстро исчезает, так что можно пойти дальше и войти в BIOS. Нажмите клавишу «DEL».
  4. В начальном меню BIOS выберите «Standard CMOS Features».

    Выбираем пункт «Standard CMOS Features», открываем его нажав клавишу «Enter»

  5. В меню «Standard CMOS Features» выберите пункт «System Information».

    Выбираем пункт «System Information», нажимаем «Enter»

  6. Появятся самые важные сведения о конфигурации оборудования, и там обязательно будет указан процессор.

    В открывшемся окне мы увидим важные сведения о конфигурации оборудования, в первой строке будет указан процессор

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

Второй способ

При загруженной системе нужно обратиться к ее свойствам. Для этого нужно сделать следующее:

  1. Войдите в меню «Пуск».

    Открываем меню «Пуск»

  2. Выберите «Компьютер».

    Открываем «Компьютер»

  3. Внизу будут сведения о процессоре. Если они отображаются не полностью, наведите мышь на надпись. Появится всплывающая подсказка, в которой будет полностью указан тип процессора.

    Внизу, наведя курсор мыши на пункт «Процессор», мы увидим полные сведения о типе процессора

Третий способ

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

  1. Войдите в меню «Пуск».

    Открываем меню «Пуск»

  2. Найдите приложение cmd.exe в папке (подменю) «Стандартные». Или можно проступить еще проще и написать в текстовом поле «cmd».

    Вводим в текстовом поле «cmd», открываем приложение

  3. В появившемся консольном окне наберите имя команды: «systeminfo» и нажмите «Enter».

    В поле вводим команду «systeminfo», нажимаем «Enter»

  4. В результатах, выданных программой «systeminfo», обязательно будет указан тип процессора (а заодно и тип операционной системы).

    В пунктах «Тип системы» и «Процессоры» находим соответствующую информацию

Гость форума
От: admin

Эта тема закрыта для публикации ответов.