מה ההבדל בין תיקיות System32 ו- SysWOW64 ב- Windows?
בגירסאות 64 סיביות של Windows, יש לך שתי תיקיות נפרדות של Program Files. אבל זה לא נגמר שם. כמו כן, יש לך שתי ספריות מערכת נפרדות שבהן מאוחסנות ספריות DLL ורציבי הפעלה: System32 ו- SysWOW64. למרות השמות, System32 מלא של 64 סיביות קבצים SysWOW64 מלא של 32 סיביות קבצים. אז מה נותן?
מה זה System32??
הספרייה System32 מכיל קבצי מערכת של Windows, הן. קבצי DLL ספריה בשימוש על ידי תוכניות תוכנית השירות. EXE אשר חלק של Windows. בעוד שרוב הקבצים שאתה מוצא כאן הם חלק ממערכת ההפעלה Windows, תוכנות צד שלישי לפעמים להתקין קבצי DLL משלהם לתיקייה זו גם כן.
יישומים המותקנים במערכת שלך עשויים להיות מותקנים בתיקייה Program Files או במקומות אחרים, אך לעתים קרובות הם מעלים ספריות של המערכת כולה מהתיקייה System32.
הפרדת ספריות 32 סיביות ו- 64 סיביות
בגירסת 64 סיביות של Windows, יש לך תיקיית C: \ Program Files שמכילה תוכניות של 64 סיביות והקבצים שלהם ותיקייה C: \ Program Files (x86) המכילה תוכניות 32 סיביות והקבצים שלהם. זה מועיל עבור קבצים אלה להיות מופרדים כי 64-bit תוכניות צריך 64-bit קבצי DLL, ו 32-bit תוכניות צריך 32-bit קבצי DLL.
אם תוכנית 32 סיביות הולך לטעון קובץ DLL זה צריך, מוצא גירסת 64 סיביות, ומנסה לטעון אותו, זה יהיה לקרוס. על-ידי הפרדת תוכנות 64 סיביות ו- 32 סיביות לשתי תיקיות שונות של קבצי Program, Windows מבטיחה שהן לא יתערבו ויגרמו לבעיות.
עם זאת, לא כל קבצי ה- DLL מאוחסנים ב- Program Files. ספריות רבות במערכת הכלולות ב- Windows מאוחסנות ב- C: \ System32, ותוכניות מסוימות גם מזריזות את קבצי הספרייה שלהם כאן. אז, בדיוק כמו Windows יש נפרד 32 סיביות ו 64 סיביות קבצים תיקיות קבצים, יש לו גם גירסאות 32 סיביות ו 64 סיביות של תיקיית System32.
System32 ו - SysWOW64
במחשב של 32 סיביות, כל התוכנות של 32 סיביות שומרות את הקבצים שלהן בתיקייה C: \ Program, ומיקום הספריה הרחב של המערכת הוא C: \ System32.
במחשב 64 סיביות, תוכניות 64 סיביות שומרות את הקבצים שלהן בתיקייה C: \ Program, והתיקייה C: \ Windows \ System32 הכוללת מערכת כוללת ספריות 64 סיביות. תוכניות של 32 סיביות שומרות את הקבצים שלהן בתיקייה C: \ Program (x86) והתיקייה הכוללת את המערכת היא C: \ Windows \ SysWOW64.
זה בהחלט מנוגד. למרות "32" בשם, התיקיה System32 מכיל 64 סיביות ספריות. ולמרות 64 בשם, התיקיה SysWOW64 מכילה ספריות של 32 סיביות - לפחות בגירסאות 64 סיביות של Windows.
באופן כללי, אתה לא צריך לדעת את זה. מערכת ההפעלה Windows ותוכניות אתה משתמש באופן אוטומטי במקום הקבצים שלהם במיקום הנכון להשתמש בתיקיה הנכונה. עם זאת, אם אי פעם צריך להתקין באופן ידני קובץ DLL במיקום הנכון או למצוא איפה הוא מותקן, וזה מאוד נדיר, תצטרך לדעת איזה מהם.
WOW64, הסביר
החלק "WOW64" של השם כאן מתייחס ל- Microsoft Windows של 32 סיביות ב- Windows 64 סיביות, המהווה חלק ממערכת ההפעלה. הדבר מאפשר ל- Windows להפעיל תוכניות של 32 סיביות בגירסת 64 סיביות של Windows. WoW64 מנתב מחדש את הגישה לקבצים כדי להבטיח שתוכניות יפעלו כהלכה.
לדוגמה, אם תתקין תוכנית של 32 סיביות בגירסת 64 סיביות של Windows והיא תנסה לכתוב לתיקייה C: \ Program Files, WoW64 מצביע עליה ב- C: \ Program Files (x86). ואם הוא רוצה לגשת לתיקייה C: \ Windows \ System32, WoW64 מצביע על זה ב- C: \ Windows \ SysWOW64. Windows עושה זאת באמצעות מפנה מערכת קבצים.
כל זה קורה באופן אוטומטי ושקוף ברקע. התוכנית אפילו לא צריך לדעת שזה פועל על מערכת הפעלה של 64 סיביות, המאפשר תוכניות 32 סיביות ישנות לרוץ ללא שינוי על גירסאות 64 סיביות של Windows. WOW64 גם מפנה גישה לרישום, ומבטיח שקיימים אזורים נפרדים ברישום עבור תוכניות 64 סיביות ו- 32 סיביות.
אז למה הוא System32 64 סיביות, ו SysWOW64 32 סיביות?
כל זה מחזיר אותנו לשאלה של מיליון דולר: מדוע תיקיית "System32" 64 סיביות ו- SysWOW64 32 סיביות?
נראה שהתשובה היא שיישומים רבים של 32 סיביות היו מקודדים לשימוש בספריה C: \ Windows \ System32. כאשר היזמים עיצבו מחדש את היישומים הללו עבור גירסאות 64 סיביות של Windows, הם המשיכו להשתמש בספריה C: \ Windows \ System32.
במקום לשנות את שם הספרייה ולכפות על מפתחים לעבור למכשיר החדש, שבירת יישומים רבים בתהליך, מיקרוסופט עזבה את "System32" כתיקיית ספריית המערכת הרגילה. הם יצרו ספריית ספריה חדשה עבור יישומים הפועלים תחת שכבת WoW64, אשר הם בשם "SysWOW64". כאשר אתה חושב על זה ככה, השם הגיוני יותר.
כן, זה קצת טיפשי כי ספרייה עם "32" בשם עכשיו 64 סיביות. אולי מיקרוסופט צריכה לראות את זה מגיע כאשר הם כינו אותו C: \ Windows \ System32 בשנות ה -90. אבל, למרות תוכנית שמות פשוטה יותר יהיה נחמד, זה לא שווה לשבור חבורה של תוכניות ויצירת עבודה יותר עבור מפתחים רק כדי להגיע לשם. זה אומר שאנחנו תקועים עם System32 ו SysWOW64 בעתיד הנראה לעין.