Är 64 bitar bättre än 32?
Posted by Sorry on November 06 2009 13:24:04
Vilka är för- och nackdelarna med att köra 64-bitars Windows 7 istället för 32-bitars? Expertpanelens Michael Anderberg har skrivit ihop en mer övergripande artikel som rätar ut en del av de frågetecken som finns runt just detta.
Extended News
Det finns två sätt att se på det här med 64 bitar och vad det tillför, dels är det storleken på register och variabler i CPU:n där 64-bit helt enkelt ger CPU:n teoretiskt sett möjligheten att hantera dubbelt så mycket data på samma tid som den kan göra med 32 bitar.

Enklast kan det jämföras med att en motorväg med 4 filer sväljer dubbelt så mycket trafik som en med 2 filer. Dock är det ju så att hela resten av infrastrukturen måste kunna svälja den ökade mängden och så även här. Därför får man inte kanske dubbla hastigheten men väl kanske 10-30% mer i snitt och det är ju inte fel det heller.

Det andra är att eftersom adresseringen av minne i maskinen bygger på 2^32 jämfört med 2^64 så ger det att en maskin med 32 bitars adressering kan hantera som mest 4294967296 bytes med minne dvs. 4GB. I praktiken kommer dock Windows och även hårdvaran beta av en del av det minnet för sitt bruk, vilket brukar ge ca 3,2 GB RAM tillgängligt för Windows att jobba med. Jämför det med 64 bitar som alltså ger en teoretisk begränsning på 18446744073709551616 bytes eller 16 777 216 TB RAM.

Nu har Windows 7 fått en praktisk minnesbegränsning på 192GB RAM och Windows Server 2008 R2 har fått 2TB RAM i sina större versioner. Vad som kanske är mer intressant är det utrymme som Windows avsätter i minnet som kallas för paged respektive non-paged pool vilket är ett område i minnet som används när kernel objects behöver page:as ut till minnet kort förklarat. Detta utrymme var begränsat till max 256 MB på gamla XP och W2k3 system, 2GB på Vista och är nu 128 GB på en 64-bit Win7 eller W2k8R2.

Så vad betyder detta på svenska? Ni kanske har sett att Windows ibland kan komma upp med ett meddelande om att det nästan har slut på virtuellt minne, eller om man kör Terminal Services att den inte accepterar fler anslutningar trots att vare sig CPU eller minne är utmaxat – well, det är detta tak ni ser. Så med andra ord att gå från 256MB utrymme till 128GB gör underverk för skalbarhet.

Applikationskompatibilitet då? Windows har någonting inbyggt som kallas för WoW eller Windows on Windows. Det är en teknik där man ”thunkar” som det heter, dvs. kombinerar ihop 2 st 32-bitarsregister till ett 64-bitars. Det gör det möjligt att köra 32-bitars applikationer direkt i en x64 maskin. Dock så kommer man få ett visst overhead, vilket också är anledningen till att man inte tillåter WoWoW dvs. att thunka in 4 st 16-bitars register i ett 64-bitars.

Men när nu allt fler applikationer av typen Photoshop, 3D Studio och liknande men inom kort även själva Officepaketet nu kommer i 64-bitars versioner, så försvinner overheadet helt och dessutom så kan ju applikationerna använda allt tillgängligt RAM-minne i maskinen – så prestandan borde kunna öka dramatiskt.

Det finns massor av fler fördelar men för att hålla detta lite kort så avrundar jag med att säga att jag själv idag inte drömmer om att köra annat än 64-bitars Windows 7 på några maskiner förutom min Atom-baserade Netbook som inte är x64 kompatibel, därav får den köra 32-bitars. Windows Server finns i sina nyaste former bara som x64 och planen från Microsoft är att så skall det även bli för klienten i Windows 8 och därefter.