Mange av oss har sett når vi får tilgang til den lokale disken C at det er to mapper kalt "Program Files" og "Program Files (x86)" i Windows -miljøer:
Spørsmålet som dukker opp er: Hva er forskjellen mellom disse to mappene? Husk at formålet med begge er å være vert for programmene som er installert på systemet.
Det er viktig og ideelt å huske at siden 2005 tok Microsoft beslutningen om å tilby sine Windows-systemer i 32-biters og 64-biters arkitektur for alle brukere siden opprinnelig var Windows bare tilgjengelig som et 32-biters operativsystem. Derfor vil vi i 32-biters versjoner av Windows, til og med 32-biters versjoner av Windows 10, som vi fortsatt ser i dag, bare se en mappe C: \ Program Files, mens vi i 64-biters operativsystemer finner to mapper som heter C: \ Program Files (C: \ Program Files) og C: \ Program Files 8x86) eller C: \ Program Files (x86).
Denne "Program Files" -mappen er standardplasseringen i Windows der programmene vi installerer må lagre kjørbare filer, data og andre typer filer.
WoW64-laget tar seg av å etterligne et 32-biters miljø, og tap av ytelse blir vanligvis ikke lagt merke til som brukere. Emulerte programmer har en fordel, fordi WoW64 kan tildele maksimal RAM (4 GB) til applikasjonen. I et ekte 32-biters system vil noe av den RAM-en bli allokert til kjernen til operativsystemet og andre kjørende programmer.
Hva er forskjellen mellom disse to mappene
Windows-operativsystemer kjører 32-biters applikasjoner på 64-biters versjoner av Windows ved hjelp av noe som kalles WOW64, som betyr "32-biters Windows på 64-biters Windows", men det kan ikke kjøre 64-biters applikasjoner i 32-biters miljøer.
Når vi kjører et 32-biters program på en 64-biters utgave av Windows, omdirigerer WOW64-emuleringslaget denne tilgangen til filer fra banen "C: \ Program Files" til "C: \ Program Files (x86)". 32-biters programmer prøver å få tilgang til "Program Files" -katalogen og pek på "Program Files (x86)" -mappen. 64-biters programmer bruker fremdeles den vanlige "Filer" -mappen.
Hva hver mappe lagrer
I 32-biters Windows-miljøer vil vi bare ha mappen "C: \ Program Files" som inneholder alle 32-biters programmene installert.
FORSTØRRE
I en 64-biters versjon av Windows lagres 64-biters programmer i "C: \ Program Files" -mappen og 32-biters programmer lagres i "C: \ Program Files (x86) -mappen.":
FORSTØRRE
Grunner til at begge mappene finnes og ikke bare én
- For å skille de forskjellige versjonene
- Reduser sjansen for en konflikt når du kjører 32-biters applikasjoner i 64-biters miljøer
- Øker sannsynligheten for at eldre programmer fungerer som de skal
I tillegg til dette kan 32-biters programmer ikke laste inn 64-biters biblioteker (DLL-filer) og kan krasje hvis de prøver å laste inn en bestemt DLL og finne en 64-biters fil i stedet for en 32-biters. Det samme gjelder for 64-biters programmer, ettersom å holde forskjellige programfiler for forskjellige CPU-arkitekturer atskilt, forhindrer feil som disse i å påvirke produktiviteten.
Grunnen til at "Program Files" -mappen har x86-plugin-modulen er fordi x86 er en annen måte å referere til 32-biters prosessorer. Opprinnelig ble 16-biters prosessorer (spesielt 8086 og 8088 prosessorarkitekturer) kalt "x86". Dette navnet ble utvidet en stund til å omfatte 32-biters 80386- og 80486-prosessorfamilien. Da 64-biters prosessorer ble introdusert, ble de referert til som x64 for å skille dem fra eldre prosessorlinjer.
Windows installerer programmene automatisk i riktig mappe, slik at vi ikke trenger å bekymre deg for om de er i riktig banemappe eller ikke.
Alle 32-biters og 64-biters programmer og applikasjoner bør lagre dataene sine i mapper som AppData og ProgramData, og ikke i noen "Program Files" -mappe.
For å finne ut hvilke programmer eller applikasjoner som er 32 eller 64 bits, kan vi gå til hver mappe i stasjon C og se hvor programmet er installert, eller fra Windows oppgavebehandling kan vi se arkitekturen til programmet:
FORSTØRRE
Hver applikasjon er utviklet med en spesiell type arkitektur, og Windows tar seg av å finne den i riktig bane.