Dlaczego 64-bitowy system Windows 7 nie może uruchamiać programów 32-bitowych?

9

Z tego, co rozumiem, architektura nie zmieniła się tak bardzo, jak zmieniła się z 16-bitowej na 32-bitową, więc dlaczego potrzebujemy trybu XP i tym podobnych do uruchamiania 32-bitowych aplikacji w 64-bitowym systemie Windows 7?

A może źle to zrozumiałem?

Oscar
źródło
Mieliśmy program, który bardzo go nie lubił. Rzeczywisty problem ostatecznie sprowadził się do 64-bitowego pakietu Office (mieliśmy wtyczkę pakietu Office).
Jozuego

Odpowiedzi:

16

potrafi dobrze uruchomić 32-bitowe programy. Nie można uruchomić programów 16-bitowych.

Tryb XP jest trochę ubezpieczeniem - jeśli dane oprogramowanie nie działa na 7 (32 LUB 64-bitowe - tryb XP jest dostępny w wersji profesjonalnej i na obu), możesz uruchomić go w trybie XP. Nie zdarzyło mi się to jeszcze, ale prawdopodobnie dotyczy to tłumu „możesz zabrać XP z moich umierających rąk”.

W większości przypadków wystarczy tryb zgodności

Journeyman Geek
źródło
Dang! Miałem problemy z uruchomieniem niektórych aplikacji, takich jak Visual Studio 6, Guitar Pro itp., A wszystkie poszukiwania doprowadziły mnie do wygrania trybu XP bez podania przyczyny. Wielkie dzięki!
Oscar
2
Niektóre aplikacje będą narzekać, ale teoretycznie nie ma powodu, aby nie uruchamiać aplikacji 32-bitowych.
Shinrai
@Oscar VS6 wymaga MS Java.
kinokijuf
5

Mam nadzieję, że rzuci to nieco światła na niekompatybilności:

Microsoft postanowił zaostrzyć jądro w wersjach 64-bitowych. Sterowniki urządzeń mają taki sam poziom dostępu do sprzętu jak jądro, więc niektóre specyficzne rzeczy, które zostały zmienione w 64-bitowych wersjach w imię bezpieczeństwa to:

  • Sterowniki muszą zostać podpisane przez firmę Microsoft, aby je załadować.
  • Nie wiem, czy technicznie 32-bitowe sterowniki mogą współpracować z 64-bitowym jądrem (mało prawdopodobne), ale Microsoft nie podpisuje nowych 32-bitowych sterowników kluczem, którego chce 64-bitowe jądro. Tak więc wszystkie istniejące 32-bitowe sterowniki XP nie będą działać na 64-bitowym systemie Vista / 7.
  • Sterowniki nie mogą nadpisywać ani łatać jądra.

Microsoft przeszedł również na nowy model sterownika wyświetlania wideo (LDDM), ale zachował stary (XDDM). XDDM, stary model, nie obsługuje Aero.

Niektóre programy w locie ładują dostosowane sterowniki urządzeń, aby zrealizować swoje zadania. Z pewnością nie będą działać w systemie Vista / 7.

Microsoft zaktualizował sporo składników w Vista / 7. Może to oznaczać zmianę nieudokumentowanego zachowania tych komponentów. Problemem mogą być także programy korzystające z błędów w tych komponentach lub nieudokumentowanych funkcji DLL.

LawrenceC
źródło
+1 za wgląd w 32-bitowe i 64-bitowe sterowniki Windows. Mam stary sprzęt audio (SW1000XG, UR-80), który będzie działał tylko na mojej 32-bitowej instalacji systemu Windows 7, ale nie na mojej 64-bitowej instalacji. Szkoda, bo są ładnym, klasycznym zestawem.
therobyouknow
„Nie wiem, czy technicznie 32-bitowe sterowniki mogą współpracować z 64-bitowym jądrem (mało prawdopodobne)” . Zasadniczo nie jest to niemożliwe w systemach operacyjnych, ale wykonanie tego w systemie Windows wymagałoby, aby wszystkie sterowniki były zgodne z modelami sterowników o znacznie ściślejszej izolacji od różnych wewnętrznych szczegółów systemu operacyjnego. Nie rozumiem, jak można to zrobić np. Ze sterownikami Windows lub sterownikami przed WDM. WDF byłoby łatwiejsze, ale nadal nie byłoby to szybkie.
Jamie Hanrahan
2

Programy 32-bitowe powinny działać dobrze w 64-bitowym systemie Windows.

Tryb XP jest przeznaczony dla programów niekompatybilnych z Windows Vista i Windows 7 dowolnego z nich.

Więcej informacji można znaleźć w tym artykule Ars Technica .

Problem naprawdę przyszedł na myśl wraz z wydaniem systemu Windows Vista. Kompatybilność Visty z XP była bardzo dobra, ale nie była idealna. Microsoft wykonał wiele pracy nad Vistą, aby zahartować go przed atakami (oczywiście UAC, ale także inne rzeczy, takie jak zabronienie usługom interakcji użytkowników), a także te modyfikacje i ulepszenia, a także bardziej przyziemne rzeczy, takie jak aktualizacja numeru wersji który Windows ma, spiskowali, by złamać stare oprogramowanie.

ChrisF
źródło