Чому Windows 7 64 біт не може запускати 32-бітні програми?


9

З того, що я розумію, архітектура не змінилася так сильно, як це було з 16-ти до 32-бітових, тож для чого нам потрібен режим XP і подібне, щоб запустити 32-бітні програми в Windows 7 64 біт?

Або я зрозумів це неправильно?


У нас була програма, яка їй не дуже сподобалась. Насправді проблема зрештою зводилася до 64-бітного Office (у нас був плагін Office).
Джошуа

Відповіді:


16

він може добре запускати 32-бітні програми. Він не може запускати 16-бітні програми.

Режим XP - це трохи страхування - якщо певне програмне забезпечення не працюватиме на 7 (32 АБО 64 біт - режим xp ​​доступний для професійного видання та для обох), тоді ви можете запустити його в режимі XP. З цим у мене ще не траплялося, але, мабуть, це стосується того, що "ти можеш взяти ХР з моїх вмираючих рук".

У більшості випадків режим сумісності виконає тхо


Данг! У мене виникли проблеми із запуском деяких програм, таких як візуальна студія 6, гітари pro тощо, і весь пошук привів мене до виграшу режиму xp, не кажучи про те, чому. Дякую тонну!
Оскар

2
Деякі додатки будуть скаржитися, але теоретично немає причин, що ви не можете запускати 32-бітні програми.
Shinrai

@Oscar VS6 вимагає MS Java.
kinokijuf

5

Я сподіваюся, що це проливає трохи світла на несумісних:

Microsoft вирішила підтягнути ядро ​​з 64-бітними версіями. Драйвери пристроїв мають той самий рівень доступу до апаратних засобів, що і до ядра, тому деякі конкретні речі, які були змінені в імені безпеки в 64-бітних версіях, це:

  • Microsoft має підписати драйвери для завантаження.
  • Я не знаю, чи технічно 32-бітні драйвери можуть працювати з 64-бітним ядром (навряд чи), але Microsoft не підписує нові 32-бітні драйвери ключем, який хоче 64-бітове ядро. Тож усі існуючі 32-бітні драйвери XP не працюватимуть на 64-розрядному Vista / 7.
  • Драйвери не можуть перезаписати або виправити ядро.

Microsoft також перейшла на нову модель драйверів відеодисплея (LDDM), але зберегла стару (XDDM). XDDM, стара модель, не підтримує Aero.

Деякі програми завантажують індивідуальні драйвери пристроїв на ходу для виконання своїх завдань. Вони точно не працюватимуть на Vista / 7.

Microsoft оновила досить багато компонентів у Vista / 7. Це може означати зміну незадокументованої поведінки цих компонентів. Проблеми, які покладаються на помилки в цих компонентах або недокументовані функції DLL, також матимуть проблеми.


+1 для отримання інформації про 32-бітні та 64-бітні драйвери Windows. У мене є старе звукове обладнання (SW1000XG, UR-80), яке буде працювати тільки на моїй 32-бітної інсталяції Windows 7, але не на моїй 64-бітній установці. Це справжній сором, тому що вони приємні, класичний комплект.
therobyouknow

"Я не знаю, чи технічно 32-бітні драйвери можуть працювати з 64-бітним ядром (навряд чи)" . В ОС це взагалі неможливо, але для цього в Windows вимагатиме, щоб усі драйвери відповідали моделям драйверів із значно жорсткішою ізоляцією від різних внутрішніх деталей ОС. Я не бачу, як це можна зробити, наприклад, з моделлю драйверів Windows або драйверами перед WDM. WDF було б легше, але все-таки не було блякло.
Джеймі Ханрахан

2

32-бітні програми повинні працювати нормально під 64-бітною Windows.

Режим XP призначений для програм, несумісних із Windows Vista та Windows 7 будь-якого типу.

Дивіться цю статтю Ars Technica для отримання додаткової інформації.

Випуск дійсно насупився з випуском Windows Vista. Сумісність Vista з XP була дуже хорошою, але вона не була ідеальною. Microsoft зробив багато роботи над Vista, щоб посилити її від атак (звичайно, UAC, але й інші речі, наприклад, заборонити службам взаємодія з користувачем), і разом ці модифікації та вдосконалення, а також інші обрядові речі, такі як оновлення номера версії що Windows має змову зламати старе програмне забезпечення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.