Υπάρχει μια καλή πιθανότητα να έχετε δύο παρόμοιους φακέλους στα Windows, τους «C:\Program Files» και «C:\Program Files (x86)». Γνωρίζοντας ότι εντός του φακέλου Program Files υπάρχουν τα εγκατεστημένα προγράμματα σας, θα δείτε ότι ορισμένα από αυτά βρίσκονται στον ένα φάκελο, και κάποια άλλα το δεύτερο.
Και αν σας ρωτήσουμε ποια είναι η διαφορά μεταξύ αυτών των φακέλλων προφανώς θα μας πείτε ότι η Microsoft μετά την εμφάνιση των λειτουργικών Windows 64-bit αποφάσισε να ξεχωρίσει τα εγκατεστημένα προγράμματα που τρέχουν στα 64-Bit από αυτά που τρέχουν στα 32-bit. Και έτσι, τα 64-bit μηχανήματα έχουν και τους δύο φακέλους (σε σχέση με τα 32-bit μηχανήματα που έχουν μόνο ένα Program Files) με τα 32-bit προγράμματα να έχουν εγκατασταθεί στο φάκελο «C:\Program Files (x86)».
Windows 64-bit vs Windows 32-bit
Τα 64-bit Windows μπορούν και τρέχουν τις 32-bit εφαρμογές χρησιμοποιώντας κάτι που ονομάζεται WOW64, που σημαίνει «Windows 32-bit on Windows 64-bit».
Όταν εκτελείτε ένα πρόγραμμα 32-bit σε μια έκδοση των 64-bit των Windows, ο εξομειωτής WOW64 ανακατευθύνει όλα τα αρχεία από το «C:\Program Files» στο «C:\Program Files (x86)». Και έτσι ενώ το 32-bit πρόγραμμα προσπαθεί να αποκτήσει πρόσβαση στον βασικό κατάλογο αρχείων του προγράμματος ουσιαστικά ανακατευθύνεται προς το Program Files (x86). Τα προγράμματα 64-bit εξακολουθούν να χρησιμοποιούν το κανονικό φάκελο Program Files.
Φυσικά οι 64-bit εφαρμογές δεν μπορούν να τρέξουν σε λειτουργικό 32-bit Windows, ακόμα και αν το μηχάνημα είναι 64-bit (ναι, μπορούν να εγκατασταθούν 32-bit Windows σε 64-bit CPU και motherboard)
Τι είναι αποθηκευμένα σε κάθε φάκελο
Εν ολίγοις, μια έκδοση 32-bit των Windows, απλά έχει μόνο ένα φάκελο «C:\Program Files». Αυτό περιλαμβάνει όλα τα εγκατεστημένα προγράμματά σας, τα οποία είναι 32-bit.
Σε μια έκδοση 64-bit των Windows, τα προγράμματα 64-bit αποθηκεύονται στο «C:\Program Files». Τα προγράμματα των 32-bit αποθηκεύονται στο φάκελο «C:\Program Files (x86)».
Γιατί τα χώρισαν;
Λόγω συμβατότητας. Επειδή τα προγράμματα των 32-bit δεν μπορούν να γνωρίζουν ότι “τρέχουν” σε μια έκδοση 64-bit των Windows, τα χώρισαν έτσι ώστε τα Windows να τα κρατούν μακριά από τον κώδικα 64-bit.
Τα προγράμματα των 32-bit δεν μπορούν να φορτώσουν τις βιβλιοθήκες 64-bit (αρχεία DLL), και θα συντριβούνε αν προσπαθήσουν να φορτώσουν ένα συγκεκριμένο αρχείο DLL και βρήκε για 64-bit μηχανή αντί για το αντίστοιχο των 32-bit. Το ίδιο ισχύει και για τα προγράμματα των 64-bit. Κρατώντας τον διαχωρισμό μεταξύ διαφορετικών αρχείων του προγράμματος που είναι σχεδιασμένα για διαφορετικές αρχιτεκτονικές CPU αποτρέπει να συμβούν λάθη.
Για παράδειγμα, ας υποθέσουμε ότι τα Windows χρησιμοποιούν ένα μόνο φάκελο Program Files. Μια εφαρμογή 32-bit που χρειάζεται ένα μέρος του Office θα αρχίσει να ψάχνει για ένα αρχείο του Microsoft Office DLL που βρίσκεται στο C:\Program Files\Microsoft Office και θα προσπαθήσει να το φορτώσει. Ωστόσο, εάν είχατε εγκατεστημένη μια έκδοση 64-bit των Microsoft Office, η εφαρμογή δεν θα λειτουργούσε σωστά και το πιθανότερο θα ήταν να συντριβεί. Με τους ξεχωριστούς φακέλους, βεβαιώνεται ότι η εφαρμογή δεν θα μπερδευτεί να βρει το σωστό DLL, επειδή η έκδοση 64-bit των Microsoft Office θα είναι στο C:\program files\Microsoft Office και η εφαρμογή 32-bit θα είναι στο C:\Program Files (x86)\Microsoft Office.
Αυτό βοηθά επίσης και τους προγραμματιστές που δημιουργούν και στις δύο αρχιτεκτονικές, 32-bit και 64-bit, ειδικά αν πρέπει και οι δύο να εγκατασταθούν ταυτόχρονα. Η έκδοση 32-bit εγκαθίσταται αυτόματα στο C:\Program Files (x86), και η έκδοση 64-bit εγκαθίσταται αυτόματα στο φάκελο C:\Program Files.
Γιατί ο φάκελος των 32-bit ονομάστηκε (x86);
Τις δύο διαφορετικές αρχιτεκτονικές δεν θα βρείτε πάντα σαν «32-bit» και «64-bit». Αντ ‘αυτού, μερικές φορές θα τις δείτε ως «x86» και «x64» αντίστοιχα. Αυτό συνδέεται από τότε που οι υπολογιστές χρησιμοποιούσαν το τσιπ 8086 της Intel. Ο όρος x86 προήλθε από το γεγονός ότι οι πρώτοι απόγονοι του 8086 είχαν και αυτοί ονόματα που τελείωναν σε “86”. Το αρχικό τσιπ ήταν 16-bit και η επόμενη έκδοση έγινε 32-bit. Έτσι ο όρος «x86» αναφέρεται στην αρχιτεκτονική των 16-bit ή 32-bit. Η νεότερη αρχιτεκτονική 64-bit αναφέρεται ως «x64» αντ ‘αυτού.
Αυτό σημαίνει ότι στο «Program Files (x86)» υπάρχουν προγράμματα που χρησιμοποιούν την παλαιότερη αρχιτεκτονική CPU x86. Σημειώστε επίσης ότι η 64-bit έκδοση των Windows δεν μπορεί να τρέξει κώδικα 16-bit.
Έχουν όλα αυτά σημασία;
Συνήθως όλα αυτά δεν έχουν σημασία και λογικά δεν σας απασχολεί αν τα αρχεία ενός προγράμματος αποθηκεύονται στο φάκελο Program Files ή στο φάκελο Program Files (x86). Τα Windows εγκαθιστούν αυτόματα τα προγράμματα στο σωστό φάκελο, έτσι ώστε να μην χρειάζεται να το αποφασίσετε εσείς. Τα προγράμματα σας εμφανίζονται στο μενού Έναρξη και λειτουργούν κανονικά, ανεξάρτητα από το πού είναι εγκατεστημένα. Και τα προγράμματα των 32-bit και των 64-bit θα πρέπει να αποθηκεύουν τα δεδομένα σας σε ονόματα φακέλων, όπως AppData και ProgramData, και όχι σε οποιοδήποτε φάκελο Program Files. Απλά αφήστε τα προγράμματά σας να αποφασίσουν αυτόματα ποιο φάκελο Program Files θα χρησιμοποιήσουν.
Αν χρησιμοποιείτε ένα portable πρόγραμμα, αυτό μπορεί να τρέξει από οποιονδήποτε φάκελο στο σύστημά σας, έτσι ώστε να μην χρειάζεται να ανησυχείτε για το πού να το τοποθετήσετε. Μπορείτε ακόμα να βάλετε τις portable εφαρμογές σας στο Dropbox ή σε άλλο τύπο φακέλου αποθήκευσης στο σύννεφο, ώστε να είναι διαθέσιμες από όλους τους υπολογιστές σας.
Μερικές φορές θα πρέπει να γνωρίζετε πού είναι αποθηκευμένο ένα πρόγραμμα. Για παράδειγμα, μπορεί να θέλετε να πάτε στον φάκελο εγκατάστασης ενός προγράμματος για να δημιουργήσετε αντίγραφα ασφαλείας ορισμένων αρχείων. Πρέπει να ξέρετε που να ψάξετε.
Αν πάλι δεν είστε σίγουροι αν ένα πρόγραμμα που έχετε εγκαταστήσει είναι 64-bit ή όχι και ψάχνετε για το φάκελο εγκατάστασης του, μπορεί να χρειαστεί να εξετάσετε και τους δύο φακέλους αρχείων προγραμμάτων για να το βρείτε.
Μπορείτε επίσης να ρίξετε μία ματιά στη Διαχείριση εργασιών. Εκεί τα προγράμματα των 32-bit αναφέρονται με την προσθήκη «(32-bit)» αμέσως μετά το όνομά τους, γεγονός που σας δίνει μια ένδειξη ότι θα τα βρείτε στο C:\Program Files (x86).