Будет ли работать 32 битная программа на 64 битной системе

Если возникла необходимость, вы можете переключиться с 32-разрядной версии Windows на 64-разрядную. Если речь идет о той же версии Windows 7, 8 или 10, ваша лицензия действительна для обоих вариантов разрядности.

Почему 32-битное приложение не запускается на Windows 10, 64 bit

Операционные системы Windows, вышедшие из-под крыла Microsoft, отличаются не только версией (XP, Vista, 8 и так далее), но и разрядностью. Долгое время стандартными считались 32-битные ОС, но относительно недавно состоялся переход на 64 bit. Новый стандарт отличается поддержкой свыше 4 Гб оперативной памяти, что положительным образом сказывается на производительности компьютера.

Будет ли работать 32 битная программа на 64 битной системе

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

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

Будет ли работать 32 битная программа на 64 битной системе

Все об IT

Будет ли работать 32 битная программа на 64 битной системе

Будет ли работать 32 битная программа на 64 битной системе

Будет ли работать 32 битная программа на 64 битной системе

Свежие записи
  • Дмитрий к записи Сохраняем и открываем DBF-файлы в Excel 2007 и 2010
  • Мирон к записи Уменьшаем или увеличиваем количество выводимых тегов WordPress
  • DuavidkeK к записи Что такое лиды в интернет-маркетинге?
  • Елена к записи Получаем бесплатно инвайт для социальной сети PostPR
  • Mixkino к записи Запрещаем доступ к сайтам с локального компьютера

Установка 32-разрядного драйвера в 64-разрядной версии Windows

64-рязрядной версии Windows, а я отвечу, что возможно он вообще будет отсутствовать или у Вас не будет доступа к сети Интернет, а в наличии будет только лишь 32-разрядный драйвер.

Теперь нам в данном разделе необходимо поставить во второй строке запятую и прописать NTamd64:

Далее копируем полностью этот раздел и сразу же после этого раздела вставляем копию с одним лишь отличием, в конце названия данного раздела необходимо поставить точку и написать NTamd64, в итоге получиться следующее:

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

Печать на старый сетевой принтер в Windows 7 x64, не имея 64-битных драйверов

Будет ли работать 32 битная программа на 64 битной системе

В сети был у меня расшарен старенький Canon LPB-1120 на компьютере с Windows xp, и захотел я печатать на него с ноутбука на котором уже стояла Windows 7 x64. Оказалось это не то что не просто, а почти невозможно, ведь драйверов 64-битных под семерку не выпустили и уже точно не выпустят.

Проблему я решил, но составлю заметку на будущее в виде этого поста.

Потыкавшись по форумам, таки нашел вроде бы решение проблемы — http://habrahabr.ru/post/112404/ но это решение мне не понравилось. Оно предусматривает со стороны сервера — расшареную папку для входящих PDF-файлов и скрипт которых их скармливает принтеру.

Следующее решение мне показалось наиболее красивым, его я и принялся испытывать — http://habrahabr.ru/post/63440/. Но все оказалось не так гладко — в статье речь шла о печати на Mac и я не смог найти использованный там драйвер «Apple LaserWriter 16/600 PS», а потому мне пришлось подобрать другой, который бы так же работал в 32 и 64 битных версиях систем. Скорректированная пошаговая инструкция выглядит так:

На компьютере с WindowsXP:

2. Качаем RedMon — Redirection Port Monitor. Разархивируем в «C:gsRedMon» и запускаем setup.exe.

3. Создаем файл конфигурации C:gscanon.rsp с таким текстом:

Название принтера (выделено жирным) скорректируйте на свое, если оно не будет в точности совпадать вы будете получать диалог выбора принтера каждый раз! .

4. Ставим виртуальный принтер. Для этого:

  • Запускаем стандартный мастер установки принтеров (Add printer wizard), жмем «далее».
  • Выбираем «локальный принтер» (local printer attached to this computer), жмем «далее».
  • Выбираем «создать новый порт», тип порта «Redirecte port», Жмем «далее».
  • Имя порта оставляем как есть, обычно это «RPT1:», жмем «ок».
  • Указываем название нашего виртуального принтера (в моем случае «Canon»)
  • Расшариваем принтер обычным образом (опять указываю имя «Canon»)
  • Открываем свойства только что установленного виртуального принтера.
  • Идем на вкладку «порты» и выбираем созданный нами «RPT1:».
  • Нажимаем кнопку конфигурирования порта и в поле «Redirect this port to the program» указываем путь до gswin32c.exe в нашем случае это C:gsgs8.64ingswin32c.exe
  • Также выставляем в самом низу окна Hidden, чтобы не выскакивали никакие окна при печати по сети и наконец жмем «Ок».

На компьютере с Windows x64 (Win7, Win8):

Как изменить разрядность на более высокую

Чтобы переключиться с 32-битной версии на 64-битную версию Windows, вам нужно сделать некоторые приготовления и выполнить следующие действия:

  • Во-первых, найдите драйверы для всего вашего оборудования, подходящие для 64-битных систем. Сохраните их на USB-накопителе или на другом носителе данных.
  • Внимание: вы не можете установить 64-битную систему поверх старой 32-й версии, не удаляя старую систему. Обязательно создайте резервные копии всех важных данных из раздела жесткого диска, на который вы будете устанавливать свою 64-битную систему.

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

Будут ли работать 32 битные драйвера в 64 битной системе

Сообщения: 5828 Благодарности: 1242

Ведь драйвер — это тоже приложение? »

Нет. Драйвер — это модуль в составе процесса System. Работает на уровне ядра между ОС и железом. Приложения работают между ОС и юзером.

Как Вы, уважаемые форумчане, можете пояснить такую ситуацию?

Все 32-разрядные клиентские версии ОС Windows, в том числе Windows Vista, Windows XP и Windows 2000 Professional, поддерживают физическую память в объеме до 4 ГБ. 4 ГБ – это максимальный физический адрес, доступный в стандартном режиме управления памятью x86. В пакете обновления 2 (SP2) для ОС Windows XP была реализована поддержка расширений физических адресов (PAE) по умолчанию для устройств, поддерживающих технологию No Execute, что, во-первых, необходимо для предотвращения исполнения данных (DEP), а во-вторых, обеспечивает возможность поддержки памяти в объеме более 4 ГБ. В ходе тестирования выяснилось, что многие системы аварийно завершают работу, зависают и отказываются загружаться. Происходит это из-за того, что некоторые драйверы устройств, в особенности аудио- и видеоустройств, которые, в основном, встречаются в клиентских системах, а не в серверах, запрограммированы на работу с физическими адресами в пределах 4 ГБ. Эти драйверы, оказываются, обрубают адреса свыше 4 ГБ, что приводит к повреждению содержимого памяти со всеми вытекающими последствиями.

Последний раз редактировалось LehaMechanic, 28-12-2012 в 16:48 .

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

Сообщения: 26925 Благодарности: 3918

Нужны ли 64-разрядные драйверы для устройств при работе в 64-разрядной версии Windows? Да. Для работы в 64-разрядной версии Windows всем устройствам нужны 64-разрядные драйверы. Драйверы, разработанные для 32-разрядных версий Windows, не работают на компьютерах под управлением 64-разрядной версии Windows.

——- ВНИМАНИЕ ознакомьтесь, прежде чем создать тему! Процессор — мозг компьютера, блок питания — сердце и печень.

Все 32-разрядные клиентские версии ОС Windows, в том числе Windows Vista, Windows XP и Windows 2000 Professional, поддерживают физическую память в объеме до 4 ГБ. 4 ГБ – это максимальный физический адрес, доступный в стандартном режиме управления памятью x86. В пакете обновления 2 (SP2) для ОС Windows XP была реализована поддержка расширений физических адресов (PAE) по умолчанию для устройств, поддерживающих технологию No Execute, что, во-первых, необходимо для предотвращения исполнения данных (DEP), а во-вторых, обеспечивает возможность поддержки памяти в объеме более 4 ГБ. В ходе тестирования выяснилось, что многие системы аварийно завершают работу, зависают и отказываются загружаться. Происходит это из-за того, что некоторые драйверы устройств, в особенности аудио- и видеоустройств, которые, в основном, встречаются в клиентских системах, а не в серверах, запрограммированы на работу с физическими адресами в пределах 4 ГБ. Эти драйверы, оказываются, обрубают адреса свыше 4 ГБ, что приводит к повреждению содержимого памяти со всеми вытекающими последствиями. »

:/>  Как удалить вирус майнера и другие виды защиты от него. Где взять материал на удаление?

Драйвер — это модуль в составе процесса System. Работает на уровне ядра между ОС и железом. »

Драйвер — это модуль в составе процесса System. Работает на уровне ядра между ОС и железом. » »

Нет,Ment69, не пропустил мимо ушей. Давайте разбиратся. Процессу «System» Windows выделил некое адресное пространство в оперативной памяти где этот процесс хранит данные. Так вот, мне не понятно, как драйвер аудиовидео, который работает в адресном пространстве процесса System может влиять и очищать адресное пространство не своих процессов? Вы ведь читали статью, ссылку на которую выложил Leha Ares, ?

Возможно, статью не совсем точно перевели с английского.

В Windows используется так называемая плоская модель памяти. Тридцать два разряда адреса обеспечивают обращение к пространству размером четыре гигабайта. Таким образом, каждой ячейке ОЗУ или ячейке памяти другого устройства соответствует определенный адрес, и никаких двусмысленностей тут быть не может. Включенный режим PAE дает возможность использовать 36 разрядов адреса и увеличить количество ячеек памяти в 16 раз. Но ведь система команд процессора остается той же самой и может адресовать только 4 миллиарда (двоичных) байтов! И вот, чтобы обеспечить возможность доступа к любому из 64 миллиардов байтов, указав только 32 разряда адреса, в процессоре включается дополнительный этап трансляции адресов (те, кого интересуют подробности, могут обратиться к специальной литературе — например, книге Руссиновича и Соломона «Внутреннее устройство Windows»). В результате 32-разрядный адрес в программе может указывать на любой из байтов в 36-разрядном пространстве. Прикладных программ эта особенность никак не касается, они работают в своих собственных виртуальных адресах. А вот драйверам, которые должны обращаться к реальным адресам конкретных устройств, приходится решать дополнительные задачи. Ведь сформированный этим драйвером 32-разрядный адрес может после дополнительного этапа трансляции оказаться совсем другим, и выданная драйвером команда может, например, вместо вывода значка на экран изменить значение в одной из ячеек таблицы Excel. А если окажутся запорченными какие-либо системные данные, то тут и до аварийного завершения работы с выводом синего экрана рукой подать. Поэтому для успешной работы в режиме PAE драйверы должны быть написаны с учетом особенностей этого режима. Однако поскольку исторически сложилось так, что до того времени в клиентских компьютерах PAE не использовался, некоторые компании не считали нужным поддерживать этот режим в написанных ими драйверах.

Это сообщение посчитали полезным следующие участники:

Как запустить 32-битную программу на 64-разрядной ОС Windows 10 – 6 способов

Будет ли работать 32 битная программа на 64 битной системе

Компьютер позволяет решать множество задач при помощи дополнительного ПО. После установки приложения от стороннего разработчика перед пользователем открывается широкий круг возможностей – от редактирования фото и видео до создания собственной 3D-графики. Но порой софт не открывается, и все упирается в разрядность операционной системы. Чтобы решить проблему, нужно понять, как запустить 32-битную программу на 64-разрядной ОС Windows 10.

Запуск от имени Администратора

Как мы выяснили, Windows 10 64 bit обладает совместимостью с 32-битным софтом. А ошибка, которая появляется при запуске, свидетельствует о недостаточном количестве прав пользователя. Проблема решается следующим образом:

  • Найдите исполняемый файл 32-разрядной программы.
  • Щелкните по нему ПКМ.
  • Выберите пункт «Запуск от имени Администратора».

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

Будет ли работать 32 битная программа на 64 битной системе

Через настройки параметров совместимости

Если же вы решили установить старую программу или игру, которая никогда не предназначалась для 64-битных систем, а получение прав Администратора не помогло, можно вручную исправить ошибку совместимости:

  • Щелкните ПКМ по ярлыку приложения.
  • Перейдите в «Свойства».

Будет ли работать 32 битная программа на 64 битной системе

  • Откройте вкладку «Совместимость».
  • Нажмите на кнопку «Запустить средство устранения проблем с совместимостью».

Будет ли работать 32 битная программа на 64 битной системе

В данном случае операционная система будет сама искать причину сбоя и предложит устранить ее, выставив, например, режим совместимости с Windows XP. Если автоматическое средство устранения неполадок не поможет, то есть смысл вручную перебрать предложенные варианты «Свойств».

Установка неподписанных или 32-битных драйверов

В целях безопасности разработчики Windows 10 активировали принудительную проверку подписных драйверов, которыми не располагают многие 32-битные программы. Из-за этого возникают сложности с запуском старых игр и приложений. Устраняется проблема путем отключения проверки подписей через среду восстановления Windows.

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

Будет ли работать 32 битная программа на 64 битной системе

Запуск игр с DRM-защитой

Старые игры используют устаревшие схемы управления цифровыми правами SafeDisc или SecuROM DRM. Поэтому, когда вы пытаетесь установить игрушку с диска, проблемы начинают возникать еще на этапе инсталляции. Ошибка возникает по причине того, что самой операционной системой Windows 10 подобный вид защиты считается небезопасным.

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

Будет ли работать 32 битная программа на 64 битной системе

Использование виртуальной машины

Запустить старую игру или приложение позволяет 32-битный эмулятор. Это специальное программное обеспечение, позволяющее избежать опасности из-за отключения проверки подписей, а также снимающее необходимость переустановки ОС на Windows 10 32 bit.

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

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

Будет ли работать 32 битная программа на 64 битной системе

16-битные приложения

Сложнее всего обстоят дела с программами, которые разрабатывались под 16-битные системы. В отличие от 32-разрядных аналогов, они не имеют даже теоретической совместимости с Windows 10 64 bit. Единственным решением проблемы является установка 32-битной ОС, которая как раз-таки поддерживает одни из самых старых приложений. Альтернативный вариант – установка DOSBox (виртуальная машина, написанная под старые операционки).

Поддержка 32-битных приложений в 64-разрядной Windows

Будет ли работать 32 битная программа на 64 битной системе

Появление 64-разрядных Windows вызвало немало вопросов. Поддержка 32-битных приложений, драйверов и всего того, что рассчитано на архитектуру x86. Установка и особенности использования программ. Вводимые ограничения для 32-разрядных приложений. Поддержка старых режимов и многое другое. Все это никак не могло остаться в стороне. Ведь, пласт 32-разрядного наследия слишком велик, и в 64-битной среде его мало чем можно заменить, даже сейчас.

В этой статье приводится обзор подсистемы Windows на Windows 64 (WOW64) и ее методов, которые позволяют Windows поддерживать 32-битные приложения на 64-битной системе.

Примечание: Первая попытка внедрить 64-разрядные системы была достаточно провальной. Жесткие ограничения и отсутствие реальных преимуществ давало о себе знать. На тот момент, даже драйвера под 64-разрядные системы было достаточно сложно найти. Не говоря уже о программах, на которых хоть как-либо была бы заметна разница. Снятие ограничения на 3Гб оперативной памяти, безусловно, сегодня сильное преимущество, но на тот момент это больше напоминало красивый слоган.

:/>  Как сделать дамп биоса ноутбука

Требуется ли изменение разрядности с 32 до 64 бит?

Можно ли вообще ли даже изменение версии Windows с 32 до 64 бит, зависит от аппаратного обеспечения вашего компьютера:

  • Ваш процессор должен иметь возможность обрабатывать 64-разрядные адреса. Самый простой способ узнать, установлен ли у вас 64-разрядный процессор — прочитать эту информацию в руководстве к CPU.
  • С помощью советов выше вы можете и без мануала узнать, поддерживает ли ваш компьютер 64-битную разрядность.
  • Если ваш процессор не поддерживает более высокую разрядность, одной лишь заменой процессора не обойтись. Прочитайте в мануале к установленной в вашем системном блоке материнской плате, совместима ли она с 64-битными процессорами, и если да, то с какими именно. Это вопрос сокетов.
  • Имейте в виду: если ваш процессор совместим с 64-битной версией, в принципе возможно изменение разрядности. НО: с 64-битной операционной системой вам придется неизбежно переустановить все драйверы всех своих аппаратных компонентов. Если вы не найдете 64-битные драйверы для вашего картридера, устройство может перестать работать после внесения изменений.

32-битная или 64-битная версия Windows?

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

Если выясняется, что все-таки Windows 64-разрядная, это еще не значит, что все программы у вас работают в 64-bit режиме. Многие программы имеют только 32-разрядные версии и могут без проблем работать в 64-bit системе.

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

  • В операционных системах Windows разрядность описывает длину слова, используемую для адресации к вашей RAM и памяти вашего GPU.
  • Только когда объем памяти RAM и GPU превышает 4 гигабайта, Вам стоит переходить от разрядности 32 до 64 бит.

Будет ли работать 32 битная программа на 64 битной системе

Подытоживая сказанное о поддержке 32-бит в 64-разрядной Windows

Большинство 32-разрядных приложений будут вполне счастливо себя чувствовать в Windows 64. Основными исключениями будут:

  • 32-разрядные драйверы устройств
  • Расширения, которые используют инъекцию кода (Code injection). Например, оболочки для проводника Windows

Некоторые приложения смогут запускаться с ограничениями. Это так же касается деинсталляторов, программ для очистки реестра и программ для тюнинга, так как они имеют доступ только к той части реестра, которую им показывает Wow64.

Если вы никак не можете запустить 32-битное приложение, то рассмотрите вариант с виртуализацией или мультизагрузкой нескольких операционных систем.

Какие приложения быстрее 32-битные или 64-битные?

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

Если сравнивать 32- и 64-разрядные приложения в своих родных средах, то 32-битное приложение, как правило, использует меньше памяти, чем эквивалентное 64-разрядное приложение. Это происходит потому, что 64-битные версии используют 64-битные структуры данных, которые занимают вдвое больше места. Дополнительный размер напрямую влияет на время запуска и закрытия программы, а так же на другие виды операций, связанных с доступом к дисковым накопителям. Обычно, это означает, что 32-разрядные приложения будут выполняться быстрее. Тем не менее, использование 64-битными программами особенностей 64-разрядного процессора потенциально позволяет приложению выполняться на 25% быстрее, по сравнению с 32-битными программами.

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

И самое главное, вы всегда должны понимать, что увеличение размера регистров процессора, а именно это и обозначают цифры 32 и 64, никак не влияет на саму задачу. Если задача не зависит от объема или диапазонов значений, то увеличение разрядности не будет играть почти никакой роли. Другими словами, от того что вы сложите продукты в большой холодильник, продуктов не станет больше и быстрее они не охладятся.

Теперь, вы знаете ряд особенностей запуска 32-битных приложений на 64-разрядных Windows. А так же что такое Wow64 и какие ограничения он накладывает на 32-разрядные программы.

Добавить комментарий / отзыв

Если драйверы действительно совместимы, может ли кто-нибудь предложить способ изменить INF-файл, чтобы Windows его распознала?

Устройство поддержки 32-битных приложений в 64-разрядной Windows

В Windows 64, 32-битные приложения выполняются в эмулированной 32-разрядной операционной системе, которая называется Windows 32 на Windows 64, или WOW64 для краткости. Основной задачей WOW64 является перехват и обработка всех системных вызовов от 32-разрядных приложений.

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

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

Тот факт, что WOW64, как и 32-битное приложение, выполняется в режиме пользователя, объясняет причину отсутствия поддержки 32-битных драйверов. Если говорить другими словами, то, для корректного запуска, драйверам требуется режим ядра, который не может обеспечить WOW64. Поэтому, если у вас 64-разрядная Windows, то все драйвера должны быть 64-битными.

Эмулятор WOW64 состоит из следующих 64-разрядных библиотек:

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

  • Wow64.dll – ядро инфраструктуры системы эмуляции. Линкует вызовы в точки входа Ntoskrnl.exe
  • Wow64Win.dll – линкует вызовы в точки входа Win32k.sys
  • Wow64Cpu.dll – переключает процессор между 32-битным и 64-битным режимом
  • Ntdll.dll – 64-битная версия Wow64.

Wow64.dll загружает 32-битную версию (x86) Ntdll.dll и все необходимые 32-битные библиотеки, которые в основном остались без изменений. Однако, некоторые их этих 32-разрядных библиотек все же были изменены, чтобы корректно исполняться в WOW64. Как правило, такие изменения были сделаны из-за того, что они используют оперативную память вместе 64-разрядными компонентами системы

Управление файлами и настройками реестра в WOW64

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

:/>  Новое слово в контент-маркетинге

Перенаправление файлов

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

Файлы 32-разрядных приложений, по умолчанию, устанавливаются в:

32-разрядные системные файлы устанавливаются в:

Для 64-разрядных приложений, файлы устанавливаются в:

  • C:Program Files
  • C:WINDOWSSYSTEM32

Механизм перенаправления WOW64 гарантирует, что запросы от 32-разрядных приложений к каталогам “C:Program Files” и “C:WINDOWSSYSTEM32” будут перенаправлены на соответствующие каталоги для 32-битных версий.

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

Многие 64-разрядные приложения все еще используют 32-битный режим и процедуры. И не учитывают это при создании инсталлятора. Для того, чтобы приложение было установлено правильно. т.е. в “C:Program Files”, программа установки должна сделать системный вызов к операционной системе, чтоб система приостановила механизм перенаправления файлов Wow64. А после установки сделать другой системный вызов, чтобы снова включить перенаправление. Если производить установку без остановки перенаправления, то программа будет установлена в “C:Program Files (x86)”. Классическим примером данной ошибки является 64-разрядная версия FireFox 3.5 под кодовым названием “Shiretoko”, которая устанавливается в “C:Program Files(x86)Shiretoko”. Конечно, Firefox по-прежнему будет нормально функционировать. Единственное, что вы не сможете сделать, так это изменить иконку приложения.

Примечание: Возможно, сейчас эту ошибку в Shiretoko уже исправили. Тем не менее, в ранних версиях было именно так.

Перенаправление реестра

Ключи реестра, специфические для 32-разрядных приложений, будут перенаправлены из ветки:

Так же, иногда, можно встретить записи реестра в другой ветке (хотя это необычно):

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

Дублирование реестра

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

  • Установите 32-битное приложение, которое ассоциирует себя с расширением XYZ
  • Установите 64-разрядную версию приложения, которая связывает себя с расширением файла XYZ
  • Установите другое 32-битное приложение, которое ассоциирует расширение XYZ с собой

В результате этих действий, по двойному щелчку на файле с расширение XYZ в проводнике Windows должно открыться приложение, которое было установлено на 3-ем шаге. Ведь, именно оно последним ассоциировало себя с расширением.

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

Существует ряд ограничений подсистемы WOW64

Wow64 позволяет 32-разрядным приложениям использовать некоторые функции и возможности 64-битных систем. Например, при правильной настройке, такие приложения смогут использовать до 4Гб оперативной памяти. Доступ к другим функциям ограничен из-за особенности устройства 64-битных систем. Например, 64-битная ОС Windows поддерживает 64-битные логические операции. Тем не менее, 32-битные приложения не будут иметь доступ к ним, они смогут использовать только 32-битные логические операции.

Примечание: Основной причиной ограничений служит разница в представлении данных 32- и 64-битных приложений. 32-разрядное приложение попросту не рассчитано на 64-разрядные типы данных.

Нельзя смешивать между собой код (Code Injection) 32-битных и 64-битных приложений

В 64-битной ОС Windows нельзя запускать 32-битный код в 64-разрядном процессе, как и нельзя запускать 64-битный код в 32-разрядном процессе. Приложения, использующие инъекции кода (Code Injection) для добавления функциональности в существующие приложения, как правило, будут выдавать ошибки.

Этот факт объясняет, почему большинство 32-битных расширений оболочки Windows не запускаются под 64-разрядной Windows. Большинство таких расширений используют инъекцию кода (Code Injection) для встраивания в проводник Windows

WOW64 не поддерживает 16-разрядные инсталляторы

WOW64 обеспечивает поддержку 16-битных инсталляторов Microsoft, путем замены инсталлятора на совместимую 32-битную версию. Тем не менее, эта поддержка не распространяется на сторонние продукты. Так что, если вам нужно использовать старую программу, то, скорее всего, придется искать эмулятор или портативную версию.

Дополнительные возможности для запуска 32-битных приложений в Windows 64

Windows Virtual PC это бесплатное программное обеспечение, которое позволяет запускать несколько операционных систем на одном компьютере. Virtual PC обеспечивает специальную среду исполнения, которая поддерживает устаревшее оборудование и программное обеспечение, которое не будет определяться и запускаться в Windows 7. Все запущенные операционные системы под Virtual PC будут выполняться в виртуальной машине. Это означает, что запущенные операционные системы не будут знать о том, что они запущены в другой системе.

Системные требования и набор функциональности существенно различается между версиями Virtual PC и версиями Windows. Так что, прежде чем пытаться использовать Virtual PC, необходимо проверить, что программа поддерживает как вашу операционную систему, так и те ОС, которые будут на ней запущены. Например, одна из последних версий уже не поддерживает версии Windows ниже Windows XP SP3.

Режим Windows XP (XPM)

Режим Windows XP это конкретная и урезанная реализация Windows Virtual PC, которая поставляется с предустановленной копией Windows XP Professional SP3. Этот режим доступен только в версиях Enterprise, Ultimate и Professional Windows 7 64-бит.

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

Мультизагрузка ОС Windows

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

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

3 ответов

все лазерные принтеры поддерживают основные PCL5e или даже PCL6. Если вы печатаете только основные задания (без двухсторонней печати, без нескольких форматов бумаги), я бы просто использовал любой старый драйвер HP LaserJet.

когда вы добавляете новый принтер, выберите из списка встроенных драйверов и выберите HP, затем выберите что-то вроде HP LaserJet 5si (мы используем этот драйвер на работе для программ, которые управляют потоком PCL). Это установит стандартный драйвер PCL для Windows, и он должен работать только штраф.

вы должны иметь возможность использовать 32-разрядный драйвер. У меня не было никаких проблем с моим собственным принтером.

по крайней мере Vista способна знать, как использовать драйверы из моего опыта.