Varför din dator har två programfiler mappar, och varför en av dem är (x86)

Dave Thomson frågade om mapparna programfiler och programfiler (x86). “Varför finns det två, och finns det någon fördel med att använda den ena över den andra?”

först bör du inte välja den ena över den andra. Låt Windows fatta det beslutet när det installerar programvaran.

som de flesta uppdaterade PC-användare kör du tydligt en 64-bitarsversion av Windows. Datorer som kan köra 64-bitars kod (även kallad x64) har funnits i nästan ett decennium och är ganska allestädes närvarande idag. Detsamma gäller för x64-versioner av Windows.

men även om de allra flesta datorer idag kör x64 Windows, är många program (förmodligen de flesta på din dator) fortfarande skrivna för den äldre 32-bitarsversionen. För bakåtkompatibilitet måste Windows x64 köra både 64-och 32-bitarsprogram.

Windows körs smidigare om det håller dessa två mycket olika typer av kod separat. 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. Till exempel, om ett 32-bitars program letade efter en .dll, och hittade en som kom med en x64-version, skulle programmet inte fungera och 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-bitars chips i tidiga datorer använde 8086-arkitekturen. Även när chipsen gick 32-bitars I slutet av 1980-talet använde de fortfarande 8086-kod och x86-modellnummer. (Kom ihåg 386 och 486 processorer?) Så numret 86 hänvisar nu till pre-x64-kod, oavsett om det är 16 – eller 32-bitars, även om 16-bitars x86-koden inte körs i 64-bitarsversioner av Windows.

Leave a Reply