/ विंडोज में "System32" और "SysWOW64" फ़ोल्डर के बीच क्या अंतर है?

विंडोज में "System32" और "SysWOW64" फोल्डर्स के बीच अंतर क्या है?

विंडोज के 64-बिट संस्करणों पर, आपके पास दो हैंअलग प्रोग्राम फ़ाइलें फ़ोल्डर। लेकिन यह वहाँ समाप्त नहीं होगा। आपके पास दो अलग-अलग सिस्टम डायरेक्टरीज़ भी हैं जहाँ DLL लाइब्रेरीज़ और एक्सेलेबल्स स्टोर किए जाते हैं: System32 और SysWOW64। नामों के बावजूद, System32 64-बिट फ़ाइलों से भरा है और SysWOW64 32-बिट फ़ाइलों से भरा है। तो क्या देता है?

System32 क्या है?

सम्बंधित: DLL फाइलें क्या हैं, और मेरे पीसी से क्यों गायब है?

System32 निर्देशिका में Windows सिस्टम हैफाइलें, दोनों .DLL लाइब्रेरी प्रोग्राम और .EXE प्रोग्राम उपयोगिताओं द्वारा उपयोग की जाने वाली फाइलें जो विंडोज का एक हिस्सा हैं। जबकि अधिकांश फाइलें जो आपको यहां मिल रही हैं, वे विंडोज ऑपरेटिंग सिस्टम का हिस्सा हैं, थर्ड-पार्टी सॉफ्टवेयर प्रोग्राम कभी-कभी इस फ़ोल्डर में अपनी DLL फाइलें भी स्थापित करते हैं।

आपके सिस्टम पर चल रहे एप्लिकेशन आपके प्रोग्राम फ़ाइल फ़ोल्डर या अन्य जगहों पर स्थापित किए जा सकते हैं, लेकिन वे अक्सर सिस्टम -32 पुस्तकालयों को सिस्टम 32 फ़ोल्डर से लोड करते हैं।

32-बिट और 64-बिट लाइब्रेरी को अलग करना

सम्बंधित: विंडोज में "प्रोग्राम फाइल्स (x86)" और "प्रोग्राम फाइल्स" फोल्डर्स के बीच अंतर क्या है?

Windows के 64-बिट संस्करण पर, आपके पास C है:प्रोग्राम फ़ाइलें फ़ोल्डर जिसमें 64-बिट प्रोग्राम और उनकी फाइलें हैं, और एक C: प्रोग्राम फाइलें (x86) फ़ोल्डर जिसमें 32-बिट प्रोग्राम और उनकी फाइलें हैं। यह इन फ़ाइलों को अलग करने के लिए सहायक है क्योंकि 64-बिट प्रोग्राम को 64-बिट DLL फ़ाइलों की आवश्यकता होती है, और 32-बिट प्रोग्रामों को 32-बिट DLL फ़ाइलों की आवश्यकता होती है।

यदि 32-बिट प्रोग्राम DLL फ़ाइल को लोड करने के लिए जाता हैकी जरूरत है, एक 64-बिट संस्करण पाता है, और इसे लोड करने की कोशिश करता है, यह दुर्घटनाग्रस्त हो जाएगा। 64-बिट और 32-बिट सॉफ़्टवेयर को दो अलग-अलग प्रोग्राम फ़ाइल फ़ोल्डर में अलग करके, विंडोज यह सुनिश्चित करता है कि वे मिश्रित न हों और समस्याएँ पैदा हों।

हालाँकि, सभी DLL फ़ाइलें प्रोग्राम में संग्रहीत नहीं हैंफ़ाइलें। विंडोज के साथ शामिल कई सिस्टम-वाइड लाइब्रेरी को C: System32 में संग्रहीत किया जाता है, और कुछ प्रोग्राम यहां अपनी खुद की लाइब्रेरी फ़ाइलों को भी डंप करते हैं। इसलिए, जिस तरह विंडोज में 32-बिट और 64-बिट प्रोग्राम फाइल्स के फोल्डर अलग होते हैं, उसी तरह सिस्टम 32 के 32-बिट और 64-बिट वर्जन के लिए भी फोल्डर होता है।

System32 और SysWOW64

32-बिट कंप्यूटर पर, सभी 32-बिट प्रोग्राम C: प्रोग्राम फाइल्स में अपनी फाइलों को स्टोर करते हैं, और सिस्टम-वाइड लाइब्रेरी लोकेशन C - System32 है।

64-बिट कंप्यूटर पर, 64-बिट प्रोग्राम उनके स्टोर करते हैंC में फ़ाइलें: प्रोग्राम फ़ाइलें और सिस्टम-वाइड C: WindowsSystem32 फ़ोल्डर में 64-बिट लाइब्रेरी हैं। 32-बिट प्रोग्राम C: प्रोग्राम फाइल्स (x86) में अपनी फाइलों को स्टोर करते हैं, और सिस्टम-वाइड फ़ोल्डर C: WindowsSysWOW64 है।

यह निश्चित रूप से प्रतिवाद है। नाम में "32" होने के बावजूद, System32 फ़ोल्डर में 64-बिट लाइब्रेरी हैं। और, नाम में 64 के बावजूद, SysWOW64 फ़ोल्डर में 32-बिट लाइब्रेरी हैं- कम से कम विंडोज के 64-बिट संस्करणों पर।

सामान्य तौर पर, आपको यह जानने की आवश्यकता नहीं होगी। आपके द्वारा उपयोग किए जाने वाले विंडोज ऑपरेटिंग सिस्टम और प्रोग्राम अपनी फाइलों को सही स्थान पर स्वचालित रूप से रखते हैं और सही फ़ोल्डर का उपयोग करते हैं। हालाँकि, यदि आपको कभी भी सही स्थान पर DLL फ़ाइल को मैन्युअल रूप से स्थापित करने की आवश्यकता है या यह पता लगाएं कि कोई कहाँ स्थापित है - जो बहुत दुर्लभ है - आपको यह जानना होगा कि कौन सा है।

WOW64, समझाया

सम्बंधित: विंडोज के 64-बिट संस्करण पर अधिकांश कार्यक्रम अभी भी 32-बिट क्यों हैं?

यहां नाम का "WOW64" हिस्सा संदर्भित करता हैMicrosoft का "विंडोज 32-बिट विंडोज 64-बिट" सॉफ्टवेयर पर, जो ऑपरेटिंग सिस्टम का एक हिस्सा है। यह विंडोज़ को 64-बिट संस्करण पर 32-बिट प्रोग्राम चलाने की अनुमति देता है। कार्यक्रमों को ठीक से काम करने के लिए WoW64 रीडायरेक्ट फ़ाइल पहुंच सुनिश्चित करेगा।

उदाहरण के लिए, यदि आप एक पर 32-बिट प्रोग्राम स्थापित करते हैंविंडोज का 64-बिट संस्करण और यह C: प्रोग्राम फाइल्स फोल्डर को लिखने की कोशिश करता है, WoW64 इसे C: प्रोग्राम फाइल्स (x86) में बताता है। और, अगर यह C: WindowsSystem32 फ़ोल्डर का उपयोग करना चाहता है, तो WoW64 इसे C: WindowsSysWOW64 पर इंगित करता है। विंडोज एक फ़ाइल सिस्टम पुनर्निर्देशक का उपयोग करके ऐसा करता है।

यह सब स्वतः और पारदर्शी तरीके से होता हैपृष्ठभूमि में। इस कार्यक्रम को 64-बिट ऑपरेटिंग सिस्टम पर चलने की भी जानकारी नहीं है, जो कि 32-बिट प्रोग्राम को विंडोज के 64-बिट संस्करणों पर संशोधन के बिना चलाने की अनुमति देता है। WOW64 रजिस्ट्री एक्सेस को भी रीडायरेक्ट करता है, यह सुनिश्चित करता है कि 64-बिट और 32-बिट प्रोग्राम के लिए रजिस्ट्री के अलग-अलग क्षेत्र हैं।

तो System32 64-बिट और SysWOW64 32-बिट क्यों है?

वह सब जो हमें मिलियन-डॉलर के सवाल पर वापस लाता है: "System32" फ़ोल्डर 64-बिट और SysWOW64 32-बिट क्यों है?

जवाब लगता है कि कई 32-बिटC: WindowsSystem32 निर्देशिका का उपयोग करने के लिए अनुप्रयोगों को हार्डकोड किया गया था। जब डेवलपर्स ने विंडोज के 64-बिट संस्करणों के लिए इन अनुप्रयोगों को फिर से शुरू किया, तो उन्होंने C: WindowsSystem32 निर्देशिका का उपयोग करना जारी रखा।

निर्देशिका का नाम बदलने और मजबूर करने के बजायडेवलपर्स नए में जाने के लिए, इस प्रक्रिया में कई अनुप्रयोगों को तोड़ते हुए, Microsoft ने "System32" को मानक सिस्टम लाइब्रेरी निर्देशिका के रूप में छोड़ दिया। उन्होंने WoW64 परत के तहत चलने वाले अनुप्रयोगों के लिए एक नई लाइब्रेरी निर्देशिका बनाई, जिसे उन्होंने "SysWOW64" नाम दिया। जब आप इसके बारे में इस तरह से सोचते हैं, तो नाम अधिक समझ में आता है।

हां, यह थोड़ा मूर्खतापूर्ण है कि "32" के साथ एक निर्देशिकानाम में अब 64-बिट है। शायद Microsoft ने देखा होगा कि 90 के दशक में जब उन्होंने इसे C: WindowsSystem32 नाम दिया था। लेकिन, हालांकि एक अधिक सरल नामकरण योजना अच्छी होगी, यह कार्यक्रमों के एक समूह को तोड़ने और डेवलपर्स के लिए अधिक काम पैदा करने के लायक नहीं है। इसका मतलब है कि हम भविष्य के लिए System32 और SysWOW64 के साथ फंस गए हैं।