32-बिट संस्करण की तुलना में विंडोज का 64-बिट संस्करण बड़ा क्यों है?


56

विंडोज 8 उपभोक्ता पूर्वावलोकन आईएसओ छवियों के लिए आकार में अंतर , 64 बिट और 32 संस्करणों के बीच 800 एमबी या 24% का अंतर है ।

मैंने कभी भी इतना बड़ा अंतर नहीं देखा।

इतना बड़ा अंतर क्यों है?

जवाबों:


77

आकार विसंगति के कई कारण हैं:

  1. 64-बिट विंडोज में एक अनुवाद परत होती है (विंडोज 64-बिट पर विंडोज 32-बिट, या " WoW64 ") जो इसे 32-बिट सॉफ़्टवेयर को चलाने की अनुमति देता है।
  2. 64-बिट विंडोज में विभिन्न कार्यक्रमों (इंटरनेट एक्सप्लोरर) और लाइब्रेरीज़ (WinSxS फ़ोल्डर में) के 32-बिट संस्करण भी हैं। जैसा कि टिप्पणियों में कहा गया है, यह आकार के अंतर का सबसे महत्वपूर्ण कारण है।
  3. 64-बिट मेमोरी पते 32-बिट मेमोरी एड्रेस से दोगुने हैं, इसलिए 64-बिट पॉइंटर्स भी लंबे समय तक दोगुने हैं। 64-बिट प्रोग्राम जो पॉइंटर्स का भारी उपयोग करते हैं, वे अपने 32-बिट समकक्षों की तुलना में काफी बड़े होंगे।

पहला और आखिरी कारण लगभग 32-बिट सॉफ़्टवेयर के रूप में योगदान नहीं करता है जो 64-बिट विंडोज के साथ जहाज करते हैं - लेकिन पूर्णता के लिए, उन्हें माना जाना चाहिए।


4
इसका मुख्य कारण बिंदु 1: sxs.iso के अंदर का फ़ोल्डर 32 बिट के लिए 177 मी, 64 बिट के लिए 315 मीटर है। windowsअंदर फ़ोल्डर install.wimiso अंदर 32 बिट के लिए 7.9g, 64 बिट के लिए 11.9g है। और उस फोल्डर के अंदर हमारे पास फिर से है WinSxSजो 32 बिट के लिए 3.9 जी और 64 बिट के लिए 6.9 जी है। साइड-बाय-साइड सामान यहां डेटा का सबसे बड़ा हिस्सा है और यह 64 बिट संस्करणों की खिड़कियों में 32 बिट और 64 बिट ऐप्स के लिए है। बड़े बायनेरिज़ और अनुप्रयोगों के कुछ दोहरे संस्करणों का आइसोस के आकार पर लगभग कोई प्रभाव नहीं पड़ता है।
अकीरा

26
मैं यह नहीं देखता कि बिंदु 3 छवि आकार को कैसे प्रभावित करेगा। बहुत कम सूचक मान स्रोत कोड में हार्ड-कोडित हैं। केवल वे ही सॉफ्टवेयर बाइनरी में जगह लेंगे (सॉफ्टवेयर चलने के बाद रैम इमेज के बजाय)।
कोनराड रुडोल्फ

10
(1) के लिए, सभी Wow64 .DLL के कम से कम 1MB तो मेरे Win7 प्रो इंस्टालेशन पर। (3) के लिए, @KonradRudolph सही है। 32 से 64-बिट तक बढ़ने से आंतरिक कोड ब्लोट का कोई सही कारण नहीं है - कुछ ऑपकोड बदल गए, हालांकि अधिकांश अभी भी केवल 32-बिट चौड़े हैं (x86 एक चर-लंबाई अनुदेश वास्तुकला है)। इस विसंगति का बहुमत (2) से उत्पन्न होता है।
ब्रेकथ्रू

3
@akira sxsफ़ोल्डर को (2), नहीं (1) के साथ करना है। साइड-बाय-साइड असेंबलियां WoW64 का हिस्सा नहीं हैं, हालांकि 32-बिट DLL को WoW64 के तहत निष्पादित किया जाता है । हालाँकि, WinSxS फ़ोल्डर 32-बिट और 64-बिट बायनेरिज़ को उन प्रोग्रामों के लिए प्रदान करने के लिए है जिनके लिए संबंधित DLL की आवश्यकता होती है - अनिवार्य रूप से DLL के 32-बिट और 64-बिट संस्करण दोनों के लिए।
ब्रेकथ्रू

3
@ क्रिसस्ट्रिंगफेलो: किसी को उस पर शक नहीं हुआ। लेकिन आइसो छवियों के समग्र आकार पर प्रभाव लगभग शून्य है। आकार-वृद्धि का मुख्य हिस्सा 64 बिट और 32 बिट सामान (कुछ एप्लिकेशन, बहुत सारे dll [ज्यादातर WinSxS.iso में फ़ोल्डर के अंदर पाया जाता है) को वितरित करने के कारण होता है ।
अकीरा

11

64 बिट-संस्करणों में, Microsoft अतिरिक्त सॉफ़्टवेयर को दिखाता है। उदाहरण के लिए, इंटरनेट एक्सप्लोरर (64 और 32 बिट) के दो संस्करण हैं। एक और उदाहरण Win32- अनुप्रयोगों के लिए पूरे रनटाइम सिस्टम है ।
साथ ही, बाइनरी कोड बड़ा हो जाएगा । संभवत: इस का योग बड़ा अंतर बनाता है।


2

64-बिट संस्करण आम तौर पर बड़ा है कि 32-बिट संस्करण कुछ कारणों से।

पहली बात यह है कि संकलक का प्रकार और रनटाइम वातावरण जहां सॉफ्टवेयर निष्पादित होता है। यदि सॉफ़्टवेयर एक कंपाइलर के साथ बनाया गया है जो मूल कोड का उत्पादन करता है और बिना रनटाइम वातावरण के चलता है, तो उत्पन्न कोड आकार में छोटे अंतर को देखना संभव है, जो CISC प्रोसेसर में सेट किए गए बड़े अनुदेश से संबंधित है।

दूसरा, यदि सॉफ़्टवेयर को रनटाइम वातावरण के तहत चलाने के लिए संकलित किया जाता है, जैसे कि .NET, तो आपको कोई आकार अंतर नहीं दिखाई देगा, क्योंकि कंपाइलर समान (मध्यवर्ती) कोड उत्पन्न करता है।

अंत में, विंडोज के 64-बिट संस्करण में 32-बिट संस्करण समकक्षों में से कुछ के साथ पूर्ण 64-बिट संस्करण शामिल है। यह आवश्यक है क्योंकि कुछ सॉफ्टवेयर 32-बिट है और विंडोज 64-बिट में संशोधन के बिना चलाने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.