- जब मैं वर्चुअलएल्लोक को MEM_COMMIT के साथ करता हूँ "निर्दिष्ट मेमोरी में भौतिक भंडारण या डिस्क पर पेजिंग फ़ाइल में आबंटित करता है आरक्षित मेमोरी पेज "(एमएसडीएन लेख से उद्धरण)।
सभी अब तक ठीक हैं लेकिन:
-
प्रतिबद्ध बाइट्स काउंटर का विवरण कि "समर्पित स्मृति भौतिक मेमोरी है जिसकी डिस्क पेजिंग फाइल (फाइलें) पर आरक्षित स्थान है।"
-
मैंने भी "सी / सी +5 संस्करण के माध्यम से विंडोज" पढ़ा और यह किताब कहती है कि स्मृति को कम करने का मतलब पृष्ठ फ़ाइल में स्थान आरक्षित करना है ....
पिछले दो मामलों में मुझे कोई मतलब नहीं है ... अगर आप मेमोरी करते हैं, इसका मतलब यह नहीं है कि आप भौतिक भंडारण (रैम) के लिए प्रतिबद्ध हैं?
पुस्तक में कहा गया है कि जब आप मेमोरी करते हैं तो आप वास्तव में पेजिंग फ़ाइल में जगह आरक्षित करते हैं। यदि यह सच था तो इसका मतलब यह होगा कि एक प्रतिबद्ध पृष्ठ के लिए पेजिंग फ़ाइल में रिक्त स्थान और स्मृति में भौतिक रूप से एक पृष्ठ फ्रेम है ... तो दो बार ज्यादा जगह की आवश्यकता है? क्या वास्तविकता की तुलना में कुल भौतिक स्मृति को बड़ा बनाने के लिए पृष्ठ फ़ाइल का उद्देश्य नहीं है? अगर मेरे पास 1 जी पेज रैम है तो 1 जी पेज फाइल => 2 जी के प्रयोग करने योग्य "भौतिक मेमोरी" (पुस्तक में यह भी बताता है, लेकिन इसके ठीक बाद में यह बताता है कि मैंने 2 बिंदु पर क्या कहा था)।
में याद कर रहा हूँ? धन्यवाद।
संपादित करें: जिस तरह से मैं देख रहा हूं वह पूरी तरह से यहां वर्णित है:
"यह दिखाता है कि प्रक्रियाओं द्वारा कितने बाइट आवंटित किए गए हैं और जिस पर ऑपरेटिंग सिस्टम ने रैम पृष्ठ बनाया है फ़्रेम या पेजफ़ाइल में एक पेज स्लॉट (शायद दोनों) "
लेकिन मैंने कई चीजें पढ़ी हैं जो मेरे विश्वास के विपरीत हैं, जैसे उन दो अंक और उदाहरण के लिए इस तरह के अन्य लोग:
आप जिस तरह से विन्डोज़ मेमोरी मॉडल काम करते हैं वो गलतफहमी रहे हैं। शब्दावली और दस्तावेज कुछ चीजों को भ्रमित करते हैं जो मदद नहीं करता है।
जब आप मेमोरी करते हैं, तो ओएस आपको उस स्मृति को वापस करने के लिए एक पृष्ठ प्रदान करने के लिए "प्रतिबद्धता" प्रदान कर रहा है। यह वास्तव में एक को आवंटित नहीं कर रहा है, भौतिक मेमोरी से या पृष्ठ फ़ाइल से, यह केवल यह जांच कर रहा है कि "अनकॉम किए गए पृष्ठ" काउंटर शून्य से बड़ा है और फिर इसे घटाना यदि इस पृष्ठ को सफल होता है तो आपके पृष्ठ तालिका में किए गए के रूप में चिह्नित किया जाता है।
आगे क्या होता है इस बात पर निर्भर करता है कि आप मेमोरी एक्सेस करते हैं या नहीं। यदि आप ऐसा नहीं करते हैं, तो आपने जो कुछ किया था वह किसी व्यक्ति को पृष्ठ का उपयोग करने से रोक दिया गया था - यह कभी वास्तव में आवंटित नहीं हुआ था, हालांकि यह कहना असंभव है कि आप किस पृष्ठ का उपयोग नहीं किया। जब आप मेमोरी स्पर्श करते हैं, हालांकि कोई पृष्ठ गलती उत्पन्न होती है। इस बिंदु पर पृष्ठ गलती हैंडलर देखता है कि पृष्ठ को सराहा गया है और एक पृष्ठ को देखने के लिए शुरू होता है जिसे मेमोरी मैनेजर रखता पृष्ठों की एक सूची पर इस्तेमाल किया जा सकता है। यदि उसे कोई नहीं मिल सकता है, तो यह पृष्ठ फ़ाइल को कुछ और करने के लिए मजबूर कर देगा और आपको वह पृष्ठ देगा।
तो वास्तव में एक पेज वास्तव में तब तक आवंटित नहीं किया जाता जब तक आपको इसकी ज़रूरत नहीं होती, जब इसे आवंटित किया जाता है पेज गलती हैंडलर दस्तावेज़ीकरण भ्रामक कारण यह है कि उपर्युक्त विवरण काफी जटिल है। प्रलेखन में यह वर्णन करना होगा कि कैसे एक पेजिंग मेमोरी मैनेजर कैसे काम करता है और विवरण काफी अच्छा है, इसके भयानक विवरण में जाने के बिना यह कैसे काम करता है।
Comments
Post a Comment