64 बिट ऑपरेटिंग सिस्टम में 32 बिट एप्लिकेशन मेमोरी का उपयोग।


13

यदि मेरा ऑपरेटिंग सिस्टम 64 बिट है, तो क्या मेरे 32 बिट एप्लिकेशन 64 बिट मेमोरी (> 3.5 जीबी) का उपयोग कर सकते हैं?

जवाबों:


6

यदि ऐप AWE से अवगत है, तो वे 4Gb से परे एक एड्रेस स्पेस का उपयोग कर सकते हैं, हालांकि 64-बिट ऐप की तुलना में कम कुशलता से हो सकता है। 32-बिट विंडोज वेरिएंट के तहत 32-बिट प्रक्रियाओं के लिए 32-बिट पता स्थान तक पहुंचना संभव है, यदि पीएई सक्षम है और प्रक्रिया इसका उपयोग करने में सक्षम है।

एक व्यक्ति 32-बिट प्रक्रिया (कि एडब्ल्यूई बारे में पता नहीं है) आम तौर पर 3 जीबी (अपने वर्चुअल ऐड्रेस स्पेस के पहले जीबी गिरी संबंधित कार्रवाई के लिए आरक्षित किया जा रहा) तक ही सीमित है , लेकिन अगर आप कई प्रक्रियाओं चल रहे हैं तो वे अधिक उपयोग करने के लिए सक्षम हो जाएगा में कुल (प्रत्येक 3Gb तक उपयोग कर सकते हैं, कुल मेमोरी अनुमति) क्योंकि उनके वर्चुअल पता स्थान साझा नहीं किए गए हैं।

प्रति-प्रक्रिया होने की सीमा एक यूनिक्स-जैसे वातावरण में अधिक सहायक होती है जहाँ सेवाएँ थ्रेड आधारित होने के बजाय प्रक्रिया आधारित होती हैं (एक प्रक्रिया में कई थ्रेड्स प्रक्रिया संसाधनों को साझा करते हैं और इसलिए एक सिंगल 3Gb वर्चुअल एड्रेस स्पेस साझा करते हैं) अधिक सामान्य है विंडोज के तहत ( विंडोज में एक नई प्रक्रिया शुरू करना काफी महंगा है, इसलिए थ्रेड्स को प्राथमिकता दी जाती है, ज्यादातर यूनिक्स वातावरण के तहत एक नई प्रक्रिया शुरू करना एक नया धागा शुरू करने की तुलना में अधिक संसाधन खपत नहीं है) । उदाहरण के लिए, यह सिर्फ SQL सर्वर पर चलने वाली मशीन के लिए बहुत मददगार नहीं है, क्योंकि यह केवल एक प्रक्रिया होने वाली है, इसलिए 3Gb सीमा को प्रभावित करेगी (कुछ संस्करणों को AWE जागरूक होने के लिए कॉन्फ़िगर किया जा सकता है, लेकिन सभी नहीं और सुविधा को अगले प्रमुख रिलीज में हटा दिया जाएगा)

साथ ही साथ 32-बिट की प्रक्रिया कुल मिलाकर 3Gb से अधिक ओएस का उपयोग करने में सक्षम है, डिस्क कैशिंग के लिए किसी भी अप्रयुक्त मेमोरी का उपयोग करने में सक्षम होगा, इसलिए यह बेकार नहीं जा सकता है, यह मानते हुए कि प्रक्रियाएं इस तरह से फाइलें नहीं खोलती हैं ओएस के रूप में यह करने के लिए परेशान करने के लिए नहीं।



5

यदि एप्लिकेशन AWE का उपयोग करता है , तो हाँ (हालांकि यह 64-बिट OS तक सीमित नहीं है)। इसके बिना, प्रक्रिया अभी भी 4GB पता स्थान तक सीमित है।


-1, सच है, मुझे लगता है कि आंशिक उत्तर भ्रामक है (गैर एडब्ल्यूई) 32 बिट की प्रक्रिया के लिए कभी भी 4 जीबी रैम उपलब्ध होगी।
pipTheGeek 22

@pipTheGeek त्रुटिपूर्ण: IMAGE_FILE_LARGE_ADDRESS_AWARE सेट = 4GB उपलब्ध के साथ 32-बिट प्रक्रिया। msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
Mark Sowul

@ मर्क - मैंने क्षमा कर दी थी, और मैंने नीचे अपना उत्तर सही कर दिया है। मुझे अभी भी लगता है कि यह उत्तर अधूरा है।
पाइपकेज

3

सॉर्टा, आप क्या मतलब पर निर्भर करता है।

विंडोज मानकर ...

यदि ओएस 64-बिट है, तो डिफ़ॉल्ट रूप से एक 32-बिट प्रक्रिया को 2 जीबी उपयोगकर्ता-पता वर्चुअल पता स्थान मिलता है। यदि .exe फ़ाइल का PE शीर्ष लेख IMAGE_FILE_LARGE_ADDRESS_AWARE ध्वज के साथ चिह्नित किया जाता है, तो इस प्रक्रिया को 4 GB उपयोगकर्ता-पता योग्य वर्चुअल पता स्थान मिलेगा। या तो मामले में, कर्नेल का वर्चुअल पता स्थान 64-बिट प्रक्रियाओं के समान है, क्योंकि यह सभी प्रक्रियाओं में साझा किया गया है। नोट के अलावा, 64-बिट प्रक्रिया जो IMAGE_FILE_LARGE_ADDRESS_AWARE ध्वज को सेट नहीं करती है, उनके पास केवल 2 GB उपयोगकर्ता वर्चुअल पता स्थान तक पहुँच है।

विशेष बूट फ़्लैग, 3 GB, / 3GB स्विच, या / userva के बारे में जो बातें आपने सुनी हैं वे सभी 32-बिट ऑपरेटिंग सिस्टम के बारे में हैं और 64-बिट विंडोज पर लागू नहीं होती हैं।

यह सभी Windows रिलीज़ पृष्ठ के लिए Microsoft की मेमोरी सीमा पर विस्तृत विवरण में दिया गया है ।

@ डेविड स्पिलेट का जवाब एक अन्य बिंदु पर भी छूता है: कई प्रक्रियाएं, जो सभी 2 जीबी के उपयोगकर्ता स्थान तक सीमित हैं, फिर भी यदि उपलब्ध हो तो महत्वपूर्ण मात्रा में रैम का उपयोग कर सकते हैं, जैसा कि फ़ाइल कैश कर सकता है।


0

32 बिट ओएस पर एक 32 बिट प्रक्रिया में 4GB पता स्थान होता है, जिसमें से 2GB OS द्वारा आरक्षित होता है, 2GB प्रक्रिया के लिए उपलब्ध है।
एक स्विच है जिसे ओएस (/ 3 जीबी) के लिए निर्दिष्ट किया जा सकता है जो ओएस के लिए आरक्षित राशि को केवल 1 जीबी में बदलता है और प्रक्रिया को 3 जीबी करने की अनुमति देता है, लेकिन, अगर प्रक्रिया स्वयं को बड़े झंडे के बारे में पता करने के रूप में स्वयं को घोषित करती है। निष्पादन योग्य।

64 बिट OS पर एक 32 बिट प्रक्रिया को 4GB मिलेगा यदि यह बड़े पते से अवगत है, तो 2GB अन्यथा।

यह सब गैर-एडब्ल्यूई जागरूक प्रक्रियाओं के लिए है। यदि प्रक्रिया AWE का उपयोग करने में सक्षम है, तो जैसा कि अन्य ने कहा है, यह एक बड़े पते की जगह का उपयोग कर सकता है, लेकिन कम कुशलता से तो 64 बिट प्रक्रिया।

पीएई 4 बिट से अधिक रैम का उपयोग करने के लिए 32 बिट ओएस की अनुमति देता है, हालांकि, इसमें संगतता की समस्या है और सर्विस पैक में से एक द्वारा XP में अक्षम किया गया था, इसलिए यह केवल सर्वर ओएस संस्करणों पर उपलब्ध है।

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