في إصدارات 64 بت من Windows ، لديك مجلدين منفصلين Program Files. لكنها لا تنتهي عند هذا الحد. لديك أيضًا دلائل نظام منفصلة حيث يتم تخزين مكتبات DLL والتنفيذية: System32 و SysWOW64. على الرغم من الأسماء ، فإن System32 مليء بالملفات 64 بت و SysWOW64 ممتلئ بالملفات 32 بت. إذن ماذا يعطي؟
ما هو System32؟
يحتوي الدليل System32 على ملفات نظام Windows وملفات مكتبة .DLL المستخدمة من قبل البرامج والأدوات المساعدة للبرنامج .EXE والتي تعد جزءًا من Windows. على الرغم من أن معظم الملفات التي تجدها هنا جزء من نظام التشغيل Windows ، فإن برامج الطرف الثالث تقوم أحيانًا بتثبيت ملفات DLL الخاصة بها على هذا المجلد أيضًا.
قد يتم تثبيت التطبيقات التي تعمل على نظامك في مجلد "ملفات البرامج" أو في أي مكان آخر ، ولكنها غالبًا ما تقوم بتحميل مكتبات على مستوى النظام من مجلد System32.
فصل مكتبات 32 بت و 64 بت
في إصدار 64 بت من Windows ، لديك مجلد C: Program Files يحتوي على برامج 64 بت وملفاتها ، ومجلد C: Program Files (x86) يحتوي على برامج 32 بت وملفاتها. من المفيد فصل هذه الملفات لأن برامج 64 بت تحتاج إلى ملفات DLL 64 بت ، والبرامج 32 بت تحتاج إلى ملفات DLL 32 بت.
إذا ذهب برنامج 32 بت لتحميل ملف DLL الذي يحتاجه ، والعثور على إصدار 64 بت ، ويحاول تحميله ، فسوف يتعطل. من خلال فصل برامج 64 بت و 32 بت إلى مجلدين مختلفين من ملفات البرامج ، يضمن Windows عدم خلطها وتسببها في حدوث مشكلات.
ومع ذلك ، لا يتم تخزين جميع ملفات DLL في ملفات البرنامج. يتم تخزين العديد من المكتبات على مستوى النظام المتضمنة في Windows في C: System32 ، كما تقوم بعض البرامج بتفريغ ملفات المكتبة الخاصة بها هنا. لذلك ، مثلما يحتوي Windows على مجلدات منفصلة لملفات البرامج 32 بت و 64 بت ، فإنه يحتوي أيضًا على إصدارات منفصلة 32 بت و 64 بت من المجلد System32.
System32 و SysWOW64
على جهاز كمبيوتر 32 بت ، تخزن جميع البرامج ذات 32 بت ملفاتها في C: Program Files ، وموقع المكتبة على مستوى النظام هو C: \ System32.
على كمبيوتر 64 بت ، تخزن برامج 64 بت ملفاتها في C: \ Program Files ، ويحتوي المجلد C: \ Windows \ System32 على مستوى النظام على مكتبات 64 بت. تخزن برامج 32 بت ملفاتها في C: \ Program Files (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.
بدلاً من إعادة تسمية الدليل وإجبار المطورين على الانتقال إلى الجديد ، وكسر العديد من التطبيقات في هذه العملية ، تركت Microsoft "System32" كدليل مكتبة النظام القياسية. قاموا بإنشاء دليل مكتبة جديد للتطبيقات التي تعمل تحت طبقة WoW64 ، والتي أطلقوا عليها اسم "SysWOW64". عندما تفكر في الأمر بهذه الطريقة ، يكون الاسم أكثر منطقية.
نعم ، من السخف بعض الشيء أن الدليل الذي يحتوي على "32" في الاسم أصبح الآن 64 بت. ربما كان من المفترض أن ترى Microsoft ذلك عند تسمية C: \ Windows \ System32 في التسعينيات. ولكن على الرغم من أن نظام التسمية الأكثر وضوحًا سيكون أمرًا رائعًا ، إلا أنه لا يستحق كسر مجموعة من البرامج وخلق المزيد من العمل للمطورين لمجرد الوصول إلى هناك. هذا يعني أننا عالقون مع System32 و SysWOW64 في المستقبل المنظور.