Программа для перехода с 32 битной на 64 битную


Windows 64-bit или 32-bit: какая лучше для вашего компьютера

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

Что такое разрядность

Разрядностью называют количество информации, которое процессор способен обработать за один такт. В зависимости от этой величины чипы делят на два типа: 32-разрядные (32-битные), обрабатывающие по 32 бита за такт, и 64-разрядные (64-битные), обрабатывающие по 64 бита.

Из классификации железа вытекает и разделение софта. Операционные системы и программы, спроектированные для работы на 32-разрядных процессорах, тоже называют 32-разрядными (32-битными). А ПО, предназначенное для 64-разрядных чипов, — 64-разрядным (64-битным).

В чём отличия двух архитектур

Во-первых, они по-разному потребляют память. 32-разрядные Windows и сторонние программы, как и 32-разрядные процессоры, не могут использовать больше 4 ГБ ОЗУ, сколько бы памяти ни было в компьютере. А для 64-разрядной архитектуры подобного ограничения нет, и, более того, она работает с ОЗУ эффективнее.

Если у вас 32-разрядная Windows или 32-разрядный процессор, то нет смысла устанавливать больше 4 ГБ ОЗУ.

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

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

Какую Windows устанавливать: 32 или 64 бита

Если у вас 32-разрядный чип или меньше 2 ГБ ОЗУ, то выбора нет: на вашей системе нормально будет работать только 32-битная ОС.

Если у вас 64-разрядный процессор и от 2 ГБ ОЗУ, устанавливайте 64-разрядную версию Windows как более современную и эффективную.

Чтобы узнать архитектуру своего чипа, наберите в поиске Windows «система» и откройте найденный раздел: нужная информация будет указана в поле «Тип системы». 32-разрядная архитектура обозначается как x86, 64-разрядная — как x64.

Какие программы устанавливать: 32 или 64 бита

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

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

Разрядность Windows, которая установлена на вашем компьютере, можно узнать в том же меню, что и разрядность процессора: наберите в поиске «система» и откройте найденный раздел.

Как перейти с 32-разрядной Windows на 64-разрядную

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

lifehacker.ru

Вопрос перехода с 32bit ➡ 64bit на Windows и решение! — DRIVE2

У меня имеется рабочий ноутбук Dell Inspiron N7110
Core i5 2410M, GeForce GT 525M.
С 32 разрядной системой Win 10. Сам процессор х64.
Сейчас стоит 8 гигов памяти а доступно 2.92 гига.

На сколько реально сделать переход на 64 разрядную винду?
В интернете горы статей и видео. И под каждой написано что всё это херня и плохо закончится!
Что-то я не заметил таких коментов типа -вау всё супер!

Пожалуйста кто в курсе могли бы опровергнуть или подтвердить эту ситуацию!
Возможно дать правильную ссылку на серьёзное пояснение или как это делается правильно!

Изначально ноут был чистый. Это было 5 лет назад.
Знакомый ставил левый винт который прошёл год и функционал закончился.
В итоге мне подарили лицензионную 7 версию которая перешла автоматом на 10 винт.

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

В итоге оказалось что всё замечательно переустанавливается!
Ключ лицензии подошёл тот же что давали для х32 битной при обновлении на Win10.
До переустановки ключ надо переписать, сохранить.
Переустановился только диск C на который и указывал путь для смены системы.
Скачал на флешку нужную версию с оф сайт

Видео которое использовал как подсказки

Направления на путь истинный. Вопросы и ответы.
оф сайт

А так же Большое Спасибо всем кто помогал в комментариях!

www.drive2.ru

Как перейти с 32-битной Windows 10 на 64-битную

Windows 10 при обновлении с предыдущих версий Windows самостоятельно определяет разрядность. Если вы ставите апдейт поверх 32-битной Windows 7 или Windows 8, вы получите 32-битную версию Windows 10. В некоторых случаях имеет смысл перейти на 64-битную Windows — например, если вы проапгрейдили свой компьютер и установили в него 4 гигабайта оперативной памяти или еще больше. Как это сделать?

Прежде всего удостоверьтесь, что в вашем компьютере установлен процессор с поддержкой 64 бит. Для этого откройте «Параметры» > «Система» > «О системе» и посмотрите разрядность процессора. Если там написано, что у вас 32-разрядная операционная система и 64-разрядный процессор, значит, скорее всего, вы сможете установить 64-битную версию Windows 10.

Некоторые устаревшие 64-битные процессоры не поддерживают работу с 64-битной версией Windows 10. Для обеспечения такой поддержки необходимо, чтобы процессор мог работать с определенными типами инструкций, в частности с SSE2, EMT64T или AMD64 и VT-x или VT-d. Посмотреть перечень инструкций процессора можно с помощью программы CPU-Z. Если у вас старый компьютер, зайдите в BIOS и активируйте в нем поддержку NX или XD. Обычно эти опции содержатся во вкладке с продвинутыми настройками BIOS.

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

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

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

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

www.iguides.ru

Как перейти с 32 на 64 Windows 10

Разработчики Windows не стоят на месте, на смену 7, 8 и 8.1 версий пришла знаменитая ОС Windows 10. Несмотря на то, что было установлено до этого обновления, пользователь получает 32-битную систему. Однако этот показатель хоть и стоит по умолчанию, но специалисты Microsoft позаботились о том, чтобы его можно было сменить по своему усмотрению. Перед введением каких-либо изменений нужно быть уверенным в том, что стоит именно 32-битная разрядность.

Как перейти с 32 на 64 Windows 10

Определение параметров совместимости

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

  1. В левом нижнем углу нажать на «Пуск» левой кнопкой мыши. В появившемся списке кликнуть на «Параметры».

    Нажимаем на «Пуск» левой кнопкой мыши, кликаем по иконке «Параметры»

  2. Появится окно с различными вкладками, нужно выбрать блок «Система».

    Открываем параметр «Система»

  3. С левой стороны имеется список, последней вкладкой будет «О системе», что и необходимо нажать. Здесь содержится основная информация об ОС Виндовс 10, а именно имя компьютера, выпуск, тип системы и другие технические характеристики. Пользователь должен обратить внимание на «Тип системы», где и будет указана разрядность. Если там написано «32-битная», то переход на 64-битную версию возможен. Но в случае отсутствия какой-либо информации сделать это будет нельзя.

    Нажимаем на вкладку «О системе», находим раздел «Тип системы» и смотрим необходимые данные

Затем важно узнать, поддерживает ли сам процессор нужные технологии или нет. Для правильной работы Виндовс необходимо, чтобы система работала с PAE, SSE2, NX. В случае, если ПК пользователя куплен уже давно, то вероятнее всего, он уже не поддерживает такие технологии. Следовательно, установить 64-версию Windows будет нельзя.

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

Определение параметров с помощью утилиты CPU Z

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

  1. Введите в поле для запросов любого браузера «скачать CPU Z», перейдите на официальный сайт.

    В поисковике любого браузера вводим «CPU-Z скачать русском», переходим по первой ссылке

  2. Кликните по ссылке, соответствующей требованиям вашей системы.

    Выбираем подходящую версию и нажимаем по ссылке для скачивания

  3. Раскройте заархивированный скачанный файл.

    Щелкаем по скачанному заархивированному файлу

  4. Двойным кликом мышки запустите установочный файл с расширением .exe.

    Двойным кликом мышки запускаем файл «exe»

  5. После скачивания этой утилиты нужно запустить программу. Окно будет называться «CPU-Z» и содержать 8 вкладок. Кликнуть нужно на «CPU», что находится первой в списке. Здесь находится вся имеющаяся информация о процессоре, а вот нужный показатель можно прочесть в «Instructions». Отыскать в этой строке такие показатели: SSE2, AMD64, VT-X. Если они имеются, то это говорит о том, что на этом ПК можно устанавливать 64-битную версию.

    Во вкладке «CPU» в разделе «Instructions» проверяем наличие необходимых параметров

Необходимость других комплектующих

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

Примечание! Если пользователь приобрел компьютер недавно, то вероятность конфликта драйверов и 64-битной версии сведена к минимуму. Однако на более старых устройствах несовместимость этих показателей является обычной практикой, которая приводит к потере звука (из-за проблем с видеокартой) или к низкому разрешению.

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

На официальных сайтах производителей скачиваем необходимые драйверы для комплектующих компьютера

Если пользователь отыскал нужные показатели, то ничего скачивать ему не придется. Во время очередного обновления Windows 10 все установит сам.

Как активировать

Чтобы активировать 64-битную систему, понадобится переустановка ОС. Это самый верный способ, который приведет к качественной установке без каких-либо сбоев.

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

В случае, если пользователь еще не установил Виндовс 10, а пользуется Виндовс 7, 8 или 8.1, то в первую очередь нужно позаботиться об обновлении до 32-битной версии. Это важный шаг, так как в дальнейшем понадобится ключ активации.

Для обновления Виндовс 10 до 64 разрядной, необходимо иметь 32 разрядную систему

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

Шаг 1. Зайти в «Пуск» и «Параметры» вышеупомянутым способом.

Нажимаем на «Пуск» левой кнопкой мыши, кликаем по иконке «Параметры»

Шаг 2. Раздел «Параметры» будет содержать несколько вкладок, понадобится «Обновление и безопасность».

Переходим в раздел «Обновление и безопасность»

На заметку! Иногда такой вкладки нет, поэтому нужно написать в строке поиска слово «Обновление». В выпадающем списке выбрать «Параметры Центра обновления Windows».

Пишем в строке поиска слово «Обновление», выбираем «Параметры Центра обновления Windows»

Шаг 3. В данном разделе имеется список вкладок, выбрать нужно «Активация». Здесь содержатся сведения о том, активирована ли ОС Windows. Если нет, то процесс активации можно запустить в этом же окне.

Кликаем по вкладке «Активация»

Читаем информацию об активации

Подготовка к установке

Чтобы установить 64-битную версию, нужно заранее подготовиться. Для переустановки системы нужно будет:

Шаг 1. Приобрести флешку, на которой или нет никаких файлов, или имеется не менее 3 гб свободного места.

Для создания загрузочной флешки, необходим объем носителя не менее 3 ГБ

Шаг 2. Программа «MediaCreationTool», которую необходимо скачивать только с сайта Microsoft, и *iso образ с 64-битной системой. Чтобы его получить, можно воспользоваться вышеупомянутой программой.

Загружаем на компьютер инструмент Windows 10 Media Creation Tool

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

На заметку! При нежелании использовать «MediaCreationTool» можно воспользоваться любой другой утилитой, скаченной с официального источника.

Создать загрузочную флешку

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

Шаг 1. Запустить заранее скаченную утилиту «MediaCreationTool» и воткнуть в разъем флешку.

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

Шаг 2. Программа предусматривает переустановку всего Виндовса, поэтому даже при потребности обновиться она предложит создать носитель для другого ПК. В окне будет иметься три вкладки:

  • выпуск;
  • архитектура;
  • и язык.

Выпуск подразумевает версию Windows, во вкладке «Язык» можно изменить русскую версию на любую другую, а вот «Архитектура» отвечает за разрядность. Там и нужно выбрать «64-разрядная (х64)», нажать «Далее».

Выставляем язык, в разделе «Архитектура» выбираем «64-разрядная (х64)», нажимаем «Далее»

Шаг 3. Программа установки Windows 10 предложит выбрать носитель для установки. Если пользователь для загрузки выбрал другой софт, то ему стоит нажать на «ISO-файл». При установке на USB-устройство ничего менять не нужно.

Отмечаем подходящий параметр, нажимаем «Далее»

Шаг 4. При выборе параметра «USB-устройство…» в следующем окне утилита попросит выбрать носитель, выделяем его левым кликом мышки, жмем «Далее».

Левым кликом мышки выделяем флешку, нажимаем «Далее»

Шаг 5. Начнется процесс установки 64-разрядной версии Windows 10 на флешку. В это время можно продолжать заниматься своими делами за ПК. Затем стоит перезагрузить компьютер.

Ожидаем завершения процесса установки Виндовс на флешку

После завершения процесса установки Виндовс 10 на флешку приступаем к самой установке.

Установка 64-разрядной версии Windows 10 с флешки

Перед тем, как установить систему с флешки, необходимо зайти в БИОС и выставить флешку, как загрузочное устройство на первое место. Для этого:

  1. Во время загрузки компьютера жмите клавишу «Del» или «F2».
  2. Оказавшись в главном окне БИОСа, перейдите во вкладку «Boot» (или со словом «Boot»).

    Переходим во вкладку «Boot» с помощью стрелок на клавиатуре

  3. Затем к разделу «Boot Device Priority», для входа жмите «Enter».

    Перемещаемся стрелками к пункт «Boot Device Priority», нажимаем «Enter»

  4. Выставьте свою флешку на первое место с помощью клавиш «+» или «-».

    Выставляем с помощью клавиш «+» и «-» флешку на место «1st Boot Device»

  5. Нажмите «F10» для выхода и сохранения изменений.
  6. В открытом окне нажмите «Установить» и следуйте инструкции установщика системы Виндовс.

    Нажимаем кнопку «Установить»

  7. Во время установки система может запрашивать ключ активации. Данный этап стоит проигнорировать, при перезагрузки ОС активириуется сама.

    Нажимаем «У меня нет ключа продукта»

Видео — Как перейти с 32 на 64 битную Windows?

 

pc-consultant.ru

Как на 64-битной Windows запустить программы в режиме совместимости

Наверх
  • Рейтинги
  • Обзоры
    • Смартфоны и планшеты
    • Компьютеры и ноутбуки
    • Комплектующие
    • Периферия
    • Фото и видео
    • Аксессуары
    • ТВ и аудио
    • Техника для дома
    • Программы и приложения
  • Новости
  • Советы
    • Покупка
    • Эксплуатация
    • Ремонт
  • Подборки
    • Смартфоны и планшеты
    • Компьютеры
    • Аксессуары
    • ТВ и аудио
    • Фото и видео
    • Программы и приложения
    • Техника для дома
  • Гейминг
    • Игры
    • Железо
  • Еще
    • Важное
    • Технологии
    • Тест скорости

ichip.ru

Как изменить 32-бит Windows 10 на 64-бит

&nbsp windows | для начинающих

Если вы обновляетесь с 32-битной Windows 7 или 8 (8.1) до Windows 10, то в процессе устанавливается 32-бит версия системы. Также, некоторые устройства имеют предустановленную 32-разрядную систему, однако процессор поддерживает 64-бит Windows 10 и имеется возможность поменять ОС на неё (и иногда это может быть полезно, особенно если вы увеличили объем оперативной памяти на вашем компьютере или ноутбуке).

В этой инструкции о том, как поменять 32-битную Windows 10 на 64-битную. Если вы не знаете, как узнать разрядность вашей текущей системы, подробно об этом в статье Как узнать разрядность Windows 10 (как узнать сколько бит 32 или 64).

Установка Windows 10 x64 вместо 32-битной системы

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

К сожалению, без переустановки системы изменить 32-бит на 64-бит не получится: единственный путь поменять разрядность Windows 10 — выполнить чистую установку x64 версии системы в той же редакции на компьютер, ноутбук или планшет (при этом вы можете не удалять уже имеющиеся данные на устройстве, но драйверы и программы придется переустановить).

Примечание: если на диске есть несколько разделов (т.е. есть условный диск D), будет хорошим решением перенести свои пользовательские данные (в том числе с рабочего стола и системных папок документов) на него.

Порядок действий будет следующим:

  1. Зайдите в Параметры — Система — О программе (О системе) и обратите внимание на параметр «Тип системы». Если там указано, что у вас 32-bit operating system, x64-based processor, это означает, что ваш процессор поддерживает системы 64-бит (Если процессор x86 — то не поддерживает и дальнейшие шаги не следует выполнять). Также обратите внимание на выпуск (редакцию) вашей системы в разделе «Характеристики Windows». 
  2. Важный шаг: если у вас ноутбук или планшет, убедитесь, что на официальном сайте производителя есть драйверы для 64-бит Windows для вашего устройства (если разрядность не указано, как правило поддерживается оба варианты системы). Желательно сразу скачать их.
  3. Скачайте оригинальный ISO образ Windows 10 x64 с сайта Майкрософт (на настоящий момент в одном образе содержатся сразу все редакции системы) и создайте загрузочную флешку (диск) или сделайте загрузочную флешку Windows 10 x64 официальным способом (с помощью Media Creation Tool).
  4. Запустите установку системы с флешки (см. Как установить Windows 10 с флешки). При этом, если вы получите запрос о том, какую редакцию системы установить — выберите ту, которая отображалась в сведениях о системе (на шаге 1). Ключ продукта при установке вводить не нужно.
  5. Если на «диске C» были важные данные, то для того, чтобы они не удалились, не форматируйте диск C при установке, просто выберите этот раздел в режиме «полная установка» и нажмите «Далее» (файлы предыдущей Windows 10 32-бит будут помещены в папку Windows.old, которую в дальнейшем можно будет удалить).
  6. Завершите процесс установки, после неё установите оригинальные драйверы системы.

На этом процесс перехода с 32-бит Windows 10 на 64-бит будет завершен. Т.е. основная задача — правильно пройти этапы с установкой системы с USB-накопителя и последующей установкой драйверов, чтобы получить ОС в нужной разрядности.

А вдруг и это будет интересно:

remontka.pro

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

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

WoW64 (Windows-on-Windows 64-bit) - подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Накладные расходы

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента - это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

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

Преимущество 64-битной среды для 32-битных программ

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Перенаправления

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN "Running 32-bit Applications".

Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?

Загрузить 32-битную DLL из 64-битного процесса и выполнить код из неё невозможно. Невозможно в силу дизайна 64-битных систем. В принципе, невозможно. Не помогут ни хитрости, ни недокументированные пути. Для этого нужно загрузить и проинициализировать WoW64, не говоря уже о структурах в ядре. Фактически нужно будет на лету превратить 64-битный процесс в 32-х битный. Подробнее эта тема рассмотрена в посте "Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс". Единственное, что можно порекомендовать, - это создание суррогатного процесса и взаимодействия с ним посредством технологии COM. Об этом рассказывается в статье "Accessing 32-bit DLLs from 64-bit code".

А вот загрузить ресурсы из 32-битной DLL в 64-битный процесс совсем несложно. Это можно сделать, если при вызове LoadLibraryEx указать флаг LOAD_LIBRARY_AS_DATAFILE.

Постепенный отказ от поддержки 32-битных программ

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

Многие администраторы знают про относительно новый режим установки и работы серверной версии операционной системы под названием Server Core. Это тот режим, о котором участники войн "Windows vs Linux" говорили очень давно. Одним из аргументов сторонников использования Linux на сервере была возможность установить серверную ОС без графического интерфейса (GUI). Но вот и в Windows Server появилась такая возможность. Установка в этом режиме позволяет получить только командную строку без пользовательского интерфейса.

Эта возможность (установка Server Core) появилась в Windows Server 2008. Но в Windows Server 2008 R2 появилось нововведение, приближающее 64-битное будущее. При установке Windows Server 2008 R2 (Server Core) поддержка запуска 32-битных приложений стала опциональной. Причем по умолчанию эта поддержка выключена. И при попытке запуска 32-битного приложения в режиме Server Core пользователь получит сообщение о невозможности запуска. Конечно, можно добавить поддержку 32-битных программ:

start /w ocsetup ServerCore-WOW64

В обычном (Full Installation) режиме 32-битные приложения по умолчанию запускаются, а вот в Server Core уже нет.

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

Дополнительная информация

Интересным источником информации по системе WoW64 является блог Алексея Пахунова: http://blog.not-a-kernel-guy.com/. Алексей является сотрудником компании Microsoft и принимает непосредственное участие в разработке подсистемы WoW64.

Авторы курса: Андрей Карпов ([email protected]), Евгений Рыжков ([email protected]).

Правообладателем курса "Уроки разработки 64-битных приложений на языке Си/Си++" является ООО "Системы программной верификации". Компания занимается разработкой программного обеспечения в области анализа исходного кода программ. Сайт компании: http://www.viva64.com.

www.viva64.com


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.