System32 और SysWOW64 फोल्डर्स को समझना
यदि आप कुछ समय से विंडोज ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, तो आपने निश्चित रूप से System32 फोल्डर देखा होगा। हालांकि, यदि आप 64-बिट पीसी पर हैं, तो आपने गौर किया होगा कि आपके C:\Windows डायरेक्टरी में दो फोल्डर हैं: पहला System32 और दूसरा SysWOW64। इस लेख में हम इनके बारे में जानेंगे और विंडोज 11/10 में System32 और SysWOW64 फोल्डर्स के बीच अंतर को समझेंगे।
System32 फोल्डर क्या है?
System32 फोल्डर में सभी सिस्टम फाइलें होती हैं। ये आमतौर पर DLL या लाइब्रेरी फाइलें होती हैं। ये वे सबसे सामान्य प्रोग्राम हैं जिनका उपयोग एप्लिकेशन विंडोज सुविधाओं तक पहुँचने के लिए करते हैं। इसके अलावा, आपके कंप्यूटर पर इंस्टॉल होने वाले प्रोग्राम भी अपनी फाइलें इसमें स्टोर कर सकते हैं।
जब आप कोई प्रोग्राम इंस्टॉल करते हैं, तो बड़े स्तर पर दो चीजें होती हैं: मुख्य प्रोग्राम (EXE) प्रोग्राम फाइल्स फोल्डर में इंस्टॉल होता है, जबकि इसकी DLL (जिसमें इसके फंक्शन आदि होते हैं) System32 फोल्डर में स्टोर होती हैं। यह सामान्य प्रथा है।
SysWOW64 फोल्डर क्या है?
क्या आपने अपने 64-बिट पीसी पर C:\Program Files (x86) फोल्डर देखा है? यहां x86 का मतलब 32-बिट होता है। इसलिए 64-बिट मशीन पर 32-बिट प्रोग्राम इंस्टॉल करने के लिए C:\Program Files (x86) का उपयोग किया जाता है। जबकि C:\Program Files फोल्डर में 64-बिट प्रोग्राम और उनकी फाइलें होती हैं।
आप यह अनुमान लगा सकते हैं कि SysWOW64 फोल्डर में केवल 64-बिट DLL होंगे। यही मूल इरादा था, लेकिन ऐसा नहीं हुआ। यदि आप मैन्युअल रूप से जांच करते हैं, तो System32 फोल्डर में बहुत सारी 64-बिट DLL और SysWOW64 फोल्डर में 32-बिट DLL मिलेंगी।
तो एक 32-बिट मार्क वाला फोल्डर 64-बिट फाइलें क्यों रखता है, और एक 64-बिट मार्क वाला फोल्डर सभी 32-बिट DLL को क्यों रखता है?
पढ़ें: splwow64.exe प्रक्रिया क्या है?
System32 और SysWOW64 फोल्डर्स के बीच अंतर
दोनों सिस्टम फोल्डर हैं और इनमें सिस्टम-वाइड DLL या फाइलें होती हैं। हालांकि, ये अपने नाम के अनुसार नहीं चलते, हार्ड-कोडेड प्रोग्रामिंग के कारण।
64-बिट कंप्यूटर पर, 64-बिट प्रोग्राम स्टोर करते हैं:
- मुख्य फाइलें जैसे EXE C:\Program Files में।
- सिस्टम-वाइड फाइलें जैसे DLL आदि C:\Windows\System32 फोल्डर में जिसमें 64-बिट लाइब्रेरी होती हैं।
हालांकि, 32-बिट प्रोग्राम स्टोर करते हैं:
- मुख्य फाइलें C:\Program Files (x86) में।
- सिस्टम-वाइड फोल्डर C:\Windows\SysWOW64 होता है।
जब एक 32-बिट प्रोग्राम अपनी 32-बिट DLL फाइलों को C:\Windows\System32 में इंस्टॉल करना चाहता है, तो उसे C:\Windows\SysWOW64 पर रीडायरेक्ट कर दिया जाता है। इससे अनिवार्य रूप से System32 केवल 64-बिट लाइब्रेरी रखता है। माइक्रोसॉफ्ट इसे हटा नहीं सका क्योंकि इससे बहुत सारे प्रोग्राम टूट जाते।
हुआ यह कि अधिकांश डेवलपर्स जिन्होंने अपने 32-बिट एप्लिकेशन को 64-बिट सिस्टम पर रोल आउट किया, वे अभी भी C:\Windows\System32 का उपयोग कर रहे थे। यह उनके प्रोग्राम में हार्ड-कोडेड था। चूंकि माइक्रोसॉफ्ट प्रोग्राम को तोड़ना नहीं चाहता था, इसलिए उन्होंने इस रीडायरेक्शन को तैयार किया।
यह सुनिश्चित करता है कि सब कुछ पृष्ठभूमि में हो रहा है बिना डेवलपर्स को ज्यादा काम किए। जब भी एक 32-बिट प्रोग्राम System32 फोल्डर से कुछ अनुरोध करता है, तो उसे चुपचाप SysWOW64 फोल्डर पर रीडायरेक्ट कर दिया जाता है जिसमें सभी 32-बिट DLL होती हैं। 64-बिट प्रोग्राम के लिए किसी रीडायरेक्शन की आवश्यकता नहीं होती क्योंकि उनके डिफॉल्ट फोल्डर पहले से मौजूद हैं।
संक्षेप में: विंडोज x64 में एक System32 फोल्डर होता है जिसमें 64-बिट DLL होती हैं। एक दूसरा SysWOW64 फोल्डर 32-बिट DLL को रखता है। नेटिव 64-बिट प्रोसेस अपनी DLL को वहीं ढूंढते हैं जहां वे अपेक्षा करते हैं यानी System32 फोल्डर में। 32-बिट प्रोसेस के लिए, OS अनुरोधों को रीडायरेक्ट करता है और उन्हें SysWOW64 फोल्डर दिखाता है।
यही चीज विंडोज रजिस्ट्री के लिए भी की गई थी – 32-बिट और 64-बिट प्रोग्राम को अलग किया गया।
संबंधित: स्टार्टअप पर System32 फोल्डर अपने आप खुल जाता है।
SysWOW64 में WOW का अर्थ
इसे System64 के बजाय SysWOW64 नाम दिया गया। WOW का मतलब Windows (32-bit) on Windows (64-bit) होता है। 32-बिट एप्लिकेशन 64-बिट एप्लिकेशन पर चल पाते थे, और इसीलिए इसका यह नाम पड़ा।
माइक्रोसॉफ्ट ने निश्चित रूप से इसे आते नहीं देखा था, अन्यथा System32 फोल्डर को कभी यह नाम नहीं मिलता। यह काफी सरल हो सकता था। हालांकि, फोल्डर का नाम न बदलने और इसके बजाय रीडायरेक्शन का उपयोग करने का निर्णय उत्कृष्ट था। इसने सुनिश्चित किया कि जब उपभोक्ता और डेवलपर्स 64-बिट पर चले गए तो उन्होंने अपना ऐप नहीं खोया।
जबकि 32-बिट सिस्टम धीरे-धीरे समाप्त हो रहे हैं और 64-बिट कंप्यूटरों द्वारा प्रतिस्थापित किए जा रहे हैं, इसमें कुछ समय लगेगा। शायद भविष्य में माइक्रोसॉफ्ट इसके बारे में कुछ करे। उम्मीद है कि 64-बिट कोडिंग में कोई हार्ड कोडिंग नहीं है।
अगला पढ़ें: विंडोज 64-बिट में Sysnative फोल्डर समझाया गया।