Dave Thomson frågade om mapparna Program Files och Program Files (x86). ”Varför finns det två, och finns det någon fördel med att använda den ena framför den andra?”
För det första bör du inte välja den ena framför den andra. Låt Windows fatta det beslutet när programmet installeras.
Som de flesta uppdaterade datoranvändare kör du uppenbarligen en 64-bitarsversion av Windows. Datorer som kan köra 64-bitarskod (även kallade x64) har funnits i nästan ett decennium och är i stort sett allestädes närvarande nuförtiden. Detsamma gäller för x64-versioner av Windows.
Men även om de allra flesta datorer numera kör x64 Windows, är väldigt många program (förmodligen de flesta av dem som finns på din dator) fortfarande skrivna för den äldre 32-bitarsversionen. Av hänsyn till bakåtkompatibilitet måste Windows x64 kunna köra både 64- och 32-bitarsprogram.
Windows fungerar smidigare om dessa två mycket olika typer av kod hålls åtskilda. Operativsystemet kan inte anta att ett x86-program ens vet att en sådan sak som x64-kod existerar, och det kan orsaka problem om de korsar varandra. Om till exempel ett 32-bitarsprogram letar efter en .dll och hittar en .dll som finns i en x64-version skulle programmet inte fungera och det skulle inte veta varför det inte fungerade. Att hålla dem i separata mappar är det enklaste sättet att undvika sådana problem.
Så varför identifieras 32-bitars kod som x86 istället för x32? 16-bitarschipen i de tidiga datorerna använde 8086-arkitekturen. Även när chipen blev 32-bitars i slutet av 1980-talet användes fortfarande 8086-kod och x86-modellnummer. (Minns du 386- och 486-processorerna?) Så numret 86 hänvisar nu till kod före x64, oavsett om den är 16- eller 32-bitars, även om 16-bitars x86-kod inte kan köras i 64-bitarsversioner av Windows.