Αρχική σελίδα » πως να » Ποια είναι η διαφορά μεταξύ των φακέλων System32 και SysWOW64 στα Windows;

    Ποια είναι η διαφορά μεταξύ των φακέλων System32 και SysWOW64 στα Windows;

    Στις εκδόσεις 64 bit των Windows, έχετε δύο χωριστούς φακέλους προγραμμάτων αρχείων. Αλλά δεν τελειώνει εκεί. Έχετε επίσης δύο ξεχωριστούς καταλόγους συστήματος όπου αποθηκεύονται βιβλιοθήκες DLL και εκτελέσιμα αρχεία: System32 και SysWOW64. Παρά τα ονόματα, το System32 είναι γεμάτο από αρχεία 64-bit και το SysWOW64 είναι γεμάτο από αρχεία 32-bit. Έτσι τι δίνει?

    Τι είναι το σύστημα32?

    Ο κατάλογος System32 περιέχει αρχεία συστήματος των Windows, και τα αρχεία βιβλιοθήκης .DLL που χρησιμοποιούνται από τα προγράμματα και τα βοηθητικά προγράμματα προγράμματος .EXE που αποτελούν μέρος των Windows. Ενώ τα περισσότερα από τα αρχεία που βρίσκεστε εδώ είναι μέρος του λειτουργικού συστήματος των Windows, τα προγράμματα λογισμικού τρίτων κατασκευαστών μερικές φορές εγκαθιστούν τα δικά τους αρχεία DLL σε αυτό το φάκελο επίσης.

    Οι εφαρμογές που εκτελούνται στο σύστημά σας ενδέχεται να εγκατασταθούν στο φάκελο "Πρόγραμμα αρχείων" ή αλλού, αλλά συχνά φορτώνουν βιβλιοθήκες ολόκληρου του συστήματος από το φάκελο System32.

    Διαχωρισμός βιβλιοθηκών 32-bit και 64-bit

    Σε μια έκδοση 64-bit των Windows, έχετε ένα φάκελο C: \ Program Files που περιέχει προγράμματα 64 bit και τα αρχεία τους και ένα φάκελο C: \ Program Files (x86) που περιέχει προγράμματα 32 bit και τα αρχεία τους. Είναι χρήσιμο να διαχωρίζονται αυτά τα αρχεία επειδή τα προγράμματα 64-bit χρειάζονται αρχεία DLL 64 bit και τα προγράμματα 32-bit χρειάζονται αρχεία DLL 32 bit.

    Εάν ένα πρόγραμμα 32-bit πηγαίνει να φορτώσει ένα αρχείο DLL που χρειάζεται, βρίσκει μια έκδοση 64-bit και προσπαθεί να το φορτώσει, θα συντριβεί. Διαχωρίζοντας το λογισμικό 64-bit και 32-bit σε δύο διαφορετικούς φακέλους προγραμμάτων αρχείων, τα Windows διασφαλίζουν ότι δεν θα μπερδευτούν και δεν θα προκαλέσουν προβλήματα.

    Ωστόσο, δεν είναι όλα τα αρχεία DLL αποθηκευμένα στα Αρχεία Προγράμματος. Πολλές βιβλιοθήκες ολόκληρου του συστήματος που περιλαμβάνονται στα Windows αποθηκεύονται στο C: \ System32, και μερικά προγράμματα επίσης χωρίζουν τα δικά τους αρχεία βιβλιοθήκης εδώ. Έτσι, ακριβώς όπως τα Windows έχουν ξεχωριστούς φακέλους προγραμμάτων 32 bit και 64 bit, έχει ξεχωριστές εκδόσεις 32 bit και 64 bit του φακέλου System32.

    System32 και SysWOW64

    Σε έναν υπολογιστή 32 bit, όλα τα προγράμματα 32-bit αποθηκεύουν τα αρχεία τους σε C: \ Program Files και η θέση της βιβλιοθήκης σε όλο το σύστημα είναι C: \ System32.

    Σε έναν υπολογιστή 64 bit, τα προγράμματα 64-bit αποθηκεύουν τα αρχεία τους σε αρχεία C: \ Program Files και ο φάκελος C: \ Windows \ System32 σε επίπεδο συστήματος περιέχει βιβλιοθήκες 64-bit. Τα προγράμματα 32-bit αποθηκεύουν τα αρχεία τους σε C: \ Program Files (x86) και ο φάκελος σε ολόκληρο το σύστημα είναι C: \ Windows \ SysWOW64.

    Αυτό είναι σίγουρα αντιφατικό. Παρά το "32" στο όνομα, ο φάκελος System32 περιέχει βιβλιοθήκες 64-bit. Και, παρά τα 64 στο όνομα, ο φάκελος SysWOW64 περιέχει βιβλιοθήκες 32-bit - τουλάχιστον σε εκδόσεις 64 bit των Windows.

    Σε γενικές γραμμές, δεν θα χρειαστεί να το ξέρετε αυτό. Το λειτουργικό σύστημα των Windows και τα προγράμματα που χρησιμοποιείτε τοποθετούν αυτόματα τα αρχεία τους στη σωστή θέση και χρησιμοποιούν τον σωστό φάκελο. Ωστόσο, εάν ποτέ χρειαστεί να εγκαταστήσετε με μη αυτόματο τρόπο ένα αρχείο DLL στη σωστή θέση ή να εντοπίσετε πού είναι εγκατεστημένο - κάτι που είναι πολύ σπάνιο - θα πρέπει να ξέρετε ποιο είναι το οποίο.

    WOW64, Επεξήγηση

    Το τμήμα "WOW64" του ονόματος αναφέρεται εδώ στο λογισμικό της Microsoft "Windows 32-bit σε Windows 64-bit", το οποίο αποτελεί μέρος του λειτουργικού συστήματος. Αυτό επιτρέπει στα Windows να εκτελούν προγράμματα 32-bit σε μια έκδοση 64-bit των Windows. Το WoW64 ανακατευθύνει την πρόσβαση στο αρχείο για να διασφαλίσει ότι τα προγράμματα θα λειτουργήσουν σωστά.

    Για παράδειγμα, εάν εγκαταστήσετε ένα πρόγραμμα 32-bit σε μια έκδοση 64 bit των Windows και προσπαθεί να γράψει στο φάκελο C: \ Program Files, το WoW64 το δείχνει στο C: \ Program Files (x86). Και, αν θέλει να έχει πρόσβαση στον φάκελο C: \ Windows \ System32, το WoW64 το επισημαίνει στο C: \ Windows \ SysWOW64. Τα Windows κάνουν αυτό χρησιμοποιώντας έναν ανακατευθυνόμενο σύστημα αρχείων.

    Όλα αυτά συμβαίνουν αυτόματα και με διαφάνεια στο παρασκήνιο. Το πρόγραμμα δεν χρειάζεται καν να γνωρίζει ότι εκτελείται σε ένα λειτουργικό σύστημα 64 bit, το οποίο επιτρέπει στα παλαιότερα προγράμματα 32-bit να τρέχουν χωρίς τροποποίηση σε εκδόσεις 64 bit των Windows. Το WOW64 ανακατευθύνει επίσης την πρόσβαση στο μητρώο, διασφαλίζοντας ότι υπάρχουν ξεχωριστές περιοχές του μητρώου για προγράμματα 64 bit και 32 bit.

    Έτσι, γιατί είναι System32 64-bit και SysWOW64 32-bit?

    Όλα αυτά μας φέρνουν πίσω στην ερώτηση εκατομμυρίων δολαρίων: Γιατί είναι ο φάκελος "System32" 64-bit και SysWOW64 32-bit?

    Η απάντηση φαίνεται να είναι ότι πολλές εφαρμογές 32-bit ήταν hardcoded να χρησιμοποιούν τον κατάλογο C: \ Windows \ System32. Όταν οι προγραμματιστές συνόμιζαν αυτές τις εφαρμογές για εκδόσεις 64 bit των Windows, συνέχισαν να χρησιμοποιούν τον κατάλογο C: \ Windows \ System32.

    Αντί να μετονομάσει τον κατάλογο και να αναγκάσει τους προγραμματιστές να μετακινηθούν στο νέο, σπάζοντας πολλές εφαρμογές στη διαδικασία, η Microsoft άφησε το "System32" ως τον τυπικό κατάλογο βιβλιοθήκης συστημάτων. Δημιούργησαν ένα νέο κατάλογο βιβλιοθήκης για εφαρμογές που εκτελούνται στο επίπεδο WoW64, το οποίο ονόμασαν "SysWOW64". Όταν το σκεφτείτε έτσι, το όνομα είναι πιο λογικό.

    Ναι, είναι λίγο ανόητο ότι ένας κατάλογος με "32" στο όνομα είναι τώρα 64-bit. Ίσως η Microsoft να είχε δει ότι έρχονται όταν την ονόμασαν C: \ Windows \ System32 στη δεκαετία του '90. Αλλά, παρόλο που ένα πιο απλό σύστημα ονοματοδοσίας θα ήταν ωραίο, δεν αξίζει να σπάσουμε ένα σωρό προγράμματα και να δημιουργήσουμε περισσότερη δουλειά για τους προγραμματιστές για να φτάσουμε εκεί. Αυτό σημαίνει ότι είμαστε κολλημένοι με το System32 και το SysWOW64 για το άμεσο μέλλον.