Windows-7-Migration

Ratgeber - Was bei Windows 64 Bit zu beachten ist

13.07.2011 von Eric Tierling
Die 64-Bit-Versionen von Windows erlauben mehr als 4 GByte Arbeitsspeicher und bieten Kompatibilität zu 32-Bit-Anwendungen. Große Unterschiede in der Performance gibt es kaum. Der Einsatz kann aber mit Stolpersteinen verbunden sein.

Windows ist nicht gleich Windows. Neben Editionen und Versionen kennen viele Betriebssysteme aus dem Hause Microsoft noch ein weiteres Unterscheidungsmerkmal in Form der Prozessorarchitektur, die entweder 32 Bit oder 64 Bit betragen kann. Zwar ist das 32-Bit-Windows noch am stärksten verbreitet, doch angesichts steigender Datenvolumina erlangt das modernere 64-Bit-Windows eine immer größere Bedeutung. Der Einsatz sollte jedoch überlegt erfolgen.

Abgesehen von temporären Ausflügen in die Welt der MIPS-, PowerPC- und Alpha-CPUs zu Zeiten von Windows NT, setzte Microsoft bei seinen Windows-Betriebssystemen als Prozessortechnik auf die von Intel geschaffene x86-Architektur mit 32 Bit. Seit April 2005 liefert der Softwarehersteller jedoch "x64"-Varianten für einige Windows-Betriebssysteme aus. Diese nutzen 64-Bit-Erweiterungen für den x86-Befehlssatz, die der Intel-Konkurrent AMD Ende der 1990er Jahre geschaffen hatte.

Versteckt: Das 64-Bit-Windows sieht genauso aus wie sein 32-Bit-Pendant und offenbart nur an wenigen Stellen seine x64-Wurzeln.

Die Besonderheit dieser zunächst als x86-64 und AMD64 bekannten 64-Bit-Technik besteht darin, dass sie eine weitgehende Kompatibilität zur 32-Bit-Prozessorarchitektur x86 aufweist. Daher lassen sich vorhandene 32-Bit-Anwendungen auf der 64-Bit-Plattform in vielen Fällen unverändert weiterverwenden - und zwar ohne zeitraubende Emulation, sondern mit hoher Performance.

Darin liegt der große Unterschied der x64-CPUs zu den damals konkurrierenden, einst als "IA-64" bekannten 64-Bit-Prozessoren der Itanium-Baureihe, die Intel gemeinsam mit HP seit 1994 entwickelt hat. Denn die für leistungshungrige Workstation- und Server-Anwendungen vorgesehene Itanium-Plattform weist eine völlig andere Prozessorarchitektur als x86 auf. Nur mittels teils äußerst langsamer Emulation ist es Itanium-Prozessoren überhaupt möglich, eine Kompatibilität zu den millionenfach vorhandenen x86-Anwendungen herzustellen und diese behelfsweise ablaufen zu lassen. Aus diesem Grund konzentrierte sich der Einsatzbereich von Itanium-Prozessoren alsbald auf Server-Szenarien. In Anbetracht der massiven Itanium-Zurückhaltung, die Käufer von Anfang an übten, sowie des enormen Zuspruchs für x64 blieb Intel nichts anderes übrig, als die 64-Bit-Erweiterungstechnik von AMD für die eigenen x86-Prozessoren zu lizenzieren. Nach den anfänglichen Begriffsverwirrungen "IA-32e" und "EM64T" spricht Intel dabei nun einheitlich von "Intel 64".

Windows als 64-Bit-Version

Das erste 64-Bit-Windows hatte Microsoft seinem langjährigen Prozessor-Weggefährten gewidmet. Die im Mai 2001 angekündigte "Windows 2000 Advanced Server Limited Edition" war speziell für Itanium-basierende Server geschaffen. Im Oktober 2001 folgte sogar "Windows XP 64-Bit Edition for Itanium Systems, Version 2002". Aufgrund der ausbleibenden Nachfrage von Itanium-Workstations wurde dieser Client-Betriebssystemzweig aber bereits 2005 wieder ad acta gelegt. Immerhin brachte Microsoft noch mehrere nachfolgende Windows-Server-Releases in einer Itanium-Variante heraus. Doch selbst damit ist inzwischen Schluss: Im April 2010 ließen die Redmonder per Blog-Eintrag verlauten, dass Windows Server 2008 R2 (ebenso wie SQL Server 2008 R2 und Visual Studio 2010) die letzten Versionen sein werden, die die Itanium-Prozessorarchitektur unterstützen. Angesicht nur einiger Tausend verkaufter Itanium-Server war dieser Schritt nur konsequent.

Die ersten Windows-Ausführungen für die von AMD erarbeitete 64-Bit-Erweiterung für die x86-Prozessorarchitektur erblickten im Jahre 2005 das Licht der Welt. Passend zum Service Pack 1 für Windows Server 2003 präsentierte Microsoft Windows Server 2003 x64 sowie das auf diesem Betriebssystem-Kernel basierende Windows XP Professional x64 Edition. Nachfolgende Server- und Client-Versionen (beispielsweise Windows Server 2003 R2 und Windows Vista) brachte Microsoft dann zunächst sowohl als 32-Bit-x86- und 64-Bit-x64-Variante heraus. Windows Server 2008 R2 schließlich ist das erste Windows-Betriebssystem, das nur noch als reine 64-Bit-Ausführung und nicht mehr für die x86-Architektur existiert. Dasselbe gilt für Windows Small Business Server 2011. Windows 7 dagegen gibt es nach wie vor in einer x86- sowie einer x64-Fassung.

Bitbreite: Der Task-Manager im 64-Bit-Windows offenbart anhand des Zusatzes *32, ob ein Prozess in der 64-Bit- oder der 32-Bit-Umgebung läuft.

Das Gros der in den vergangenen Jahren von AMD, Intel und VIA ausgelieferten Server- und Client-Prozessoren (Opteron, Xeon, Core, Phenom, A8 etc.) beherrscht x64 und kann daher die entsprechenden 64-Bit-Windows-Varianten sofort nutzen. Somit bescherte die Itanium-Prozessorarchitektur Windows zwar den Eintritt in die 64-Bit-Welt. Wenn heute aber vom 64-Bit-Windows-Computing die Rede ist, dreht sich alles um die einst dazu als Gegenentwurf konzipierte x64-Prozessortechnik.

Die 4-GByte-Barriere

Aufgrund seiner 32-Bit-Architektur endet die Speicheradressierungsfähigkeit von x86 bei 4 GByte. Die x64-Prozessortechnik hingegen kennt dieses Limit nicht und kann bis zu 16 EByte (2 hoch 64 = 16 Exabyte) linear adressieren. Aktuelle Windows-x64-Versionen erreichen dieses theoretische Limit allerdings noch nicht: Windows Server 2008 R2 Service Pack 1 unterstützt bis zu 2 TByte RAM, und Windows 7 Service Pack 1 schafft bis zu 192 GByte.

Gerade das "Knacken der 4-GByte-Barriere", der x86 systembedingt unterliegt, trägt zur x64-Popularität bei. Denn angesichts steigender Datenvolumen gibt es immer mehr Szenarien, die mit 4 GByte Arbeitsspeicher nicht mehr auskommen und sie profitieren davon, dass sich Dateien komplett in den Arbeitsspeicher laden lassen, ohne dass dafür langwierige Swap-Auslagerungen auf Festplatte erforderlich werden.

Doppelt: Bei Windows 7 ist der Internet Explorer gleich zweimal vorhanden, da 32-Bit-Add-ins im 64-Bit-Web-Browser architekturbedingt nicht laufen.

Beispiele auf Server-Seite, die von mehr als 4 GByte Arbeitsspeicher profitieren können, sind Datenbanken und Branchenanwendungen, Active-Directory-Verzeichnisse größerer Unternehmen sowie die Virtualisierung etwa mit Hyper-V. Doch auch auf Client-Seite reichen 4-GByte-Speicher oft nicht aus, etwa wenn es um speicherhungrige Anwendungen etwa zur Bild- und Videobearbeitung sowie um umfangreiche Kalkulationen geht.

Das Verfahren PAE (Physical Address Extension) ermöglicht es x86-Prozessoren zwar, physischen Speicher oberhalb von 4 GByte heranzuziehen. Doch PAE arbeitet mit blockweisen Einblendungen hoher Adressbereiche unterhalb der 4-GByte-Marke, was sich negativ auf die Performance auswirkt. Zudem ändert PAE nichts daran, dass der virtuelle Adressraum bei x86 systembedingt auf 4 GByte begrenzt ist.

Speicheradressierung und Sicherheit bei x64

Hinzu kommt, dass die x86-Versionen von Windows die möglichen 4 GByte RAM standardmäßig in zwei gleich große Bereiche aufteilen: Bis zu 2 GByte stehen den im User-Mode-Adressbereich laufenden Anwendungen zu, während das Betriebssystem sowie zugehörige Prozesse die anderen 2 GByte für den Kernel-Mode-Adressbereich vereinnahmen. Der virtuelle Adressraum einer 32-Bit-Anwendung ist daher auf maximal 2 GByte limitiert. Unter bestimmten Umständen lassen sich einige x86-Windows-Versionen zwar dazu überreden, sich beim Kernel mit 1 GByte zu bescheiden und dadurch bis zu 3 GByte für Anwendungen verfügbar zu machen, die das unterstützen. Bei den x64-Windows-Varianten hingegen sind solche Mapping-Umwege oder andere Kniffe nicht erforderlich: Hier können die linear ansprechbaren User- und Kernel-Mode-Adressbereiche jeweils bis zu 8 TByte groß sein.

Über Speichergrenzen hinausgehend weist die x64-Prozessorarchitektur Hardwaremerkmale zur Verbesserung der Sicherheit auf. Ein Beispiel ist die Datenausführungsverhinderung "DEP" (Data Execution Protection), die AMD als "NX" (No-Execute Page-Protection) und Intel als "XD" (Execute Disable Bit) bezeichnen. Diese Funktion steuert, welche Arbeitsspeicherbereiche zur Ausführung von Code verwendet werden dürfen. Ob diese und weitere Sicherheitsfunktionen der x64-Prozessorarchitektur in Kombination mit einem 64-Bit-Betriebssystem tatsächlich für mehr Security sorgen, ist unter Experten aber umstritten. Interessanterweise offenbart der halbjährliche Microsoft Security Intelligence Report (SIR), dass die Malware-Infektionsraten der 64-Bit-Versionen von Windows XP, Windows Vista und Windows 7 niedriger liegen als bei den jeweiligen 32-Bit-Pendants - auf die Server-Versionen trifft das laut Report jedoch nicht zu.

Gemeinsamkeiten

Die große Ähnlichkeit der x64-Prozessorarchitektur zu ihrem x86-Vorgänger ermöglicht es der Branche, 64-Bit-Software anzubieten, die sich im Aussehen und beim Handling nur minimal von ihrer 32-Bit-Verwandschaft unterscheiden. Wie weit das geht, verdeutlicht Windows 7: Weder auf den ersten noch auf den zweiten Blick ist für den Anwender erkennbar, ob es sich um die x64- oder die x86-Variante handelt.

Erst der Abstecher zu den Systeminformationen klärt entsprechend auf. Ferner gibt es im Dateisystem des x64-Betriebssystems Ordner wie "Programme (x86)", die darauf hindeuten, dass auf dem Computer ein 64-Bit-Windows arbeitet.

Für die eigentliche Nutzung spielt dies jedoch meist keine Rolle: Für die Arbeit mit Programmen oder die Anpassung von Einstellungen ist es in der Regel unerheblich, ob dies auf einem 64-Bit- oder 32-Bit-Windows geschieht. Das hat den Vorteil, dass sich nicht nur vorhandene 32-Bit-Software, sondern auch bekannte Verfahren wie die zentrale Konfiguration über Gruppenrichtlinien auf einem 64-Bit-Windows ohne Umstellung weiterverwenden lassen.

Unterschiede

Nennenswerte Differenzen gibt es lediglich aufgrund technischer Ursachen. Installationsdateien, Service Packs etc. stellen Microsoft und andere Anbieter für x86- und x64-Windows-Betriebssysteme getrennt zur Verfügung - Universal-Binaries wie in der Apple-Welt gibt es nicht.

Geht nicht: Der Versuch, eine 64-Bit-Anwendung auf einem 32-Bit-Windows zu starten, schlägt fehl.

Grundlegende Limitationen beziehen sich vor allem auf Gerätetreiber: Die x64-Windows-Versionen erwarten Treiber speziell für die x64-Prozessorarchitektur, denn 32-Bit-Gerätetreiber für x86-Windows-Systeme lassen sich auf einem 64-Bit-Windows nicht verwenden. Ebenso wenig können 64-Bit-Treiber auf einem 32-Bit-System zum Einsatz kommen. Neben Treibern für Hardwarekomponenten wie Drucker, RAID-Controller etc. sind davon Anbieter systemnaher Software und virtueller Geräte - allen voran im Zusammenhang mit Antiviren- und Backup-Produkten - betroffen.

Nach anfänglichem Zögern noch zu Zeiten von Windows Vista haben sich inzwischen jedoch viele Hersteller auf die 64-Bit-Windows-Welt eingestellt, indem sie x64-Varianten ihrer Gerätetreiber und systemnahen Software anbieten. Aber es gibt auch schwarze Schafe: So hat es Adobe bis dato nicht geschafft, einen finalen Flash-Player für das 64-Bit-Windows herauszubringen.

Fallstricke

Manche Stolpersteine sind aber nicht so offenkundig. Beispielsweise kann das 64-Bit-Windows, abgesehen von bestimmten Setup-Tools, keinen 16-Bit-Code ausführen. Unternehmen, die noch alte DOS- oder Windows-3.1-Anwendungen im Einsatz haben, müssen dafür einen Emulator wie DOSBox verwenden oder diese im Windows-XP-Modus einsetzen, den die Windows-7-Editionen Professional, Enterprise und Ultimate mitbringen.

Genauso kann die 64-Bit-Version des Internet Explorer keine 32-Bit-ActiveX-Controls verwenden. Umgekehrt kommt die 32-Bit-Version des Internet Explorer nicht mit 64-Bit-ActiveX-Controls zurecht. Aus diesem Grund stattet Microsoft die x64-Version von Windows 7 mit zwei vorinstallierten Ausführungen seines Web-Browsers aus: Hinter dem regulären "Internet-Explorer"- Eintrag beispielsweise im Startmenü verbirgt sich die 32-Bit-Variante. Wer das x64-Gegenstück verwenden möchte, muss über das Programme-Menü explizit den Eintrag "Internet Explorer (64 Bit)" aufrufen.

Manche Anwendungen sind sowohl in einer x86- und x64-Ausführung erhältlich. Prominentes Beispiel dafür ist Office 2010, das es auch als 64-Bit-Variante gibt. Microsoft selbst empfiehlt jedoch, die 32-Bit-Ausführung zu bevorzugen, denn die verfügbaren Add-Ins sind üblicherweise in der 32-Bit-Architektur gehalten und laufen damit unter dem 64-Bit-Office nicht. Sinn macht die Nutzung einer x64-Version von Office 2010 hingegen dann, wenn es um die Nutzung sehr großer Dokumente - etwa bei umfangreichen Excel-Kalkulationen - geht.

Installations-Aspekte

Unternehmen, die mit dem Einsatz des 64-Bit-Windows liebäugeln, sollten zuvor eine Checkliste aufstellen und darüber alle relevanten Aspekte abklären. Zum Fragenkatalog gehören beispielsweise, ob die Prozessoren der Firmen-Computer x64-fähig sind (manche Intel Atom-CPUs zum Beispiel zählen nicht dazu), ob x64-Treiber für alle Hardwarekomponenten und Peripheriegeräte vorliegen, und ob die im Unternehmen eingesetzte Software eine x64-Unterstützung aufweist. Dementsprechend kann die IT-Abteilung passende Installations-Images für x86 und x64 erstellen, die allerdings separat zu warten sind.

Zudem empfiehlt es sich, Computer mit Bedacht und Blick auf die Zukunft zu bestellen. Denn immer wieder kommt es vor, dass Käufer PCs mit vorinstalliertem Windows 7 x86 ordern und den Arbeitsspeicher dann gleich auf 4 GByte RAM aufrüsten - obgleich die 32-Bit-Variante des Betriebssystems diese Menge Arbeitsspeicher gar nicht nutzen kann. Denn effektiv ist bei der x86-Variante von Windows 7 in der Regel bei 3 oder 3,5 GByte RAM Schluss. Wer jedoch bereits weiß, dass später eine Aufrüstung auf 4 oder mehr GByte Arbeitsspeicher ansteht, liegt richtig, wenn er jetzt schon auf die x64-Ausführung von Windows 7 setzt.

Dieser Artikel basiert auf einem Beitrag unserer Schwesterpublikation Computerwoche. (cvi)