स्मृति प्रबंधन, आभासी स्मृति व फ़ाइल तंत्र
पृष्ठ-सारणी की दो लागतें
पृष्ठ-सारणी स्मृति में रहती है, अतः भोली खोज प्रति अनुदेश दो स्मृति-पहुँचों की लागत रखती है — एक प्रविष्टि पढ़ने हेतु व एक आँकड़े लाने हेतु। TLB हाल के अनुवादों का लघु सहचारी कैश है जो मेल पर प्रथम पहुँच हटा देता है, और तब प्रत्याशित समय मेल व चूक पर भारित औसत है। लें 20 ns की TLB पहुँच, 100 ns की स्मृति-पहुँच, तथा 80% मेल-अनुपात, इस परिपाटी सहित कि TLB पहले देखा जाता है व स्मृति पश्चात्। मेल पर लागत 20 + 100 = 120 ns; चूक पर 20 + 100 + 100 = 220 ns, क्योंकि आप विफल खोज, फिर पृष्ठ-सारणी, फिर आँकड़े का मूल्य चुकाते हैं। अतः EMAT = 0.8(120) + 0.2(220) = 96 + 44 = 140 ns। मेल-अनुपात 90% करें और वह 130 ns हो जाता है — मेल-अनुपात के प्रत्येक 10 अंक ठीक एक स्मृति-पहुँच के मूल्य के हैं, जो किसी भी उत्तर पर उपयोगी विवेक-जाँच है।
पृष्ठ प्रतिस्थापन, एक माला पर गिना गया
नीचे की सारणी मानक संदर्भ-माला 1 2 3 4 1 2 5 1 2 3 4 5 को तीनों कलनविधियों से दोनों, 3 व 4 फ़्रेम पर चलाती है, क्योंकि रोचक तथ्य सब तुलनाएँ हैं और एकमात्र पंक्ति उनमें कोई नहीं दिखाती। दोष अनुकरण द्वारा गिनें: पहले से स्थित पृष्ठ का संदर्भ मेल है और (LRU हेतु) नवीनता-क्रम के अतिरिक्त कुछ नहीं बदलता; अनुपस्थित पृष्ठ का संदर्भ दोष है, और यदि प्रत्येक फ़्रेम भरा हो तो कलनविधि का नियम शिकार चुनता है — FIFO सर्वाधिक पूर्व लादा पृष्ठ निकालती है, LRU सर्वाधिक पूर्व प्रयुक्त, OPT वह जिसका अगला प्रयोग भविष्य में सर्वाधिक दूर है।
| कलनविधि | 3 फ़्रेम | 4 फ़्रेम | युग्म क्या दिखाता है |
|---|---|---|---|
| FIFO | 9 | 10 | बेलेडी की विसंगति — अधिक फ़्रेम, अधिक दोष |
| LRU | 10 | 8 | स्टैक कलनविधि — अधिक फ़्रेम सहित कभी निकृष्ट नहीं |
| OPT | 7 | 6 | अप्राप्य निम्न परिबंध, जिसे भविष्य चाहिए |
फ़ाइल आवंटन: सबसे बड़ी फ़ाइल, तथा प्रत्यक्ष पहुँच
| रणनीति | खंड k तक प्रत्यक्ष पहुँच? | मुख्य दुर्बलता |
|---|---|---|
| सन्निहित | हाँ — आरंभ + k | बाह्य खंडन; फ़ाइल यथास्थान बढ़ नहीं सकती |
| कड़ीबद्ध | नहीं — k कड़ियाँ चलनी पड़ती हैं | प्रत्यक्ष पहुँच नहीं; एक बिगड़ा सूचक शेष पुच्छ खो देता है |
| अनुक्रमित (inode) | हाँ — अनुक्रमणिका खंड पढ़ें | अनुक्रमणिका स्वयं स्थान लेती है, और मापन हेतु परोक्षण चाहती है |
मुख्य बिंदु
- विचलन अनुवाद के आर-पार अछूता जाता है, अतः पृष्ठ-आकार उसे नियत करता है और शेष सब उसी से निकलता है।
- EMAT = (मेल)(TLB + स्मृति) + (चूक)(TLB + स्मृति + स्मृति) — चूक व्यर्थ किया TLB समय अभी भी चुकाती है।
- 32-बिट स्थान, 4 KB पृष्ठ, 4-बाइट प्रविष्टियाँ: 220 पृष्ठ, 4 MB सपाट सारणी, तथा 10 | 10 | 12 द्वि-स्तरीय विभाजन।
- पृष्ठन अंतिम आवंटन के भीतर स्थान व्यर्थ करता है; खंडन आवंटनों के बीच।
- बेलेडी की विसंगति वास्तविक है: 1 2 3 4 1 2 5 1 2 3 4 5 पर FIFO 3 फ़्रेम पर 9 व 4 पर 10 दोष लेती है।
- LRU व OPT स्टैक कलनविधियाँ हैं, अतः विसंगति नहीं हो सकती — किंतु LRU किसी माला पर FIFO से हार सकती है।
- प्रति-खंड-सूचक पहले निकालें; प्रत्येक परोक्ष पद उसकी घात है।
- कड़ीबद्ध आवंटन वही है जो खंड k तक प्रत्यक्ष नहीं पहुँच सकता; सन्निहित व अनुक्रमित दोनों पहुँच सकते हैं।
अभ्यास प्रश्न (8)
उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।
TLB पहुँच 20 ns लेती है और स्मृति-पहुँच 100 ns। पृष्ठ-सारणी मुख्य स्मृति में है और TLB मेल-अनुपात 80% है। TLB पहले देखा जाता है व स्मृति पश्चात्। प्रभावी स्मृति पहुँच-समय, ns में, ______ है
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 140
140 ns। मेल पर अनुवाद TLB से आता है और एक स्मृति-पहुँच आँकड़े लाती है: 20 + 100 = 120 ns। चूक पर TLB खोज व्यर्थ जाती है पर उसका मूल्य फिर भी चुकाया जाता है, तत्पश्चात् पृष्ठ-सारणी स्मृति से पढ़ी जाती है, तत्पश्चात् आँकड़े: 20 + 100 + 100 = 220 ns। भारण: 0.8(120) + 0.2(220) = 96 + 44 = 140। सर्वाधिक सामान्य गलत उत्तर 120 है, यह भूलने से कि चूक अतिरिक्त स्मृति-पहुँच की लागत रखती है, वही नहीं। दूसरा सर्वाधिक सामान्य 116 है, चूक पर TLB समय छोड़ने से — पर खोज हुई थी, अतः उसका मूल्य लिया जाता है। शीघ्र विवेक-जाँच: उत्तर 120 व 220 के बीच कठोरतः होना चाहिए, और प्रथम के बहुत निकट क्योंकि मेल चार गुना अधिक संभाव्य हैं।संदर्भ-माला 1 2 3 4 1 2 5 1 2 3 4 5 हेतु FIFO प्रतिस्थापन 3 फ़्रेम सहित 9 पृष्ठ-दोष व 4 फ़्रेम सहित 10 उत्पन्न करता है। यह दिखाता है कि:
उत्तर देखें
उत्तर: B — FIFO बेलेडी की विसंगति भोग सकती है, क्योंकि वह स्टैक कलनविधि नहीं है
बेलेडी की विसंगति, और वह भूल के बजाय वास्तविक व्यवहार है। कोई कलनविधि स्टैक कलनविधि है जब n फ़्रेम में वह जो पृष्ठ धारण करती है वे सदा उनके उपसमुच्चय हों जो वह n + 1 में धारण करती; वह प्रत्याभूत करता है कि प्रत्येक मेल अतिरिक्त फ़्रेम में बचा रहे, अतः दोष बढ़ नहीं सकते। LRU में वह गुणधर्म है (n सर्वाधिक नवीन, n + 1 सर्वाधिक नवीन में हैं) और OPT में भी; FIFO में नहीं, क्योंकि वह लादने के क्रम से निकालती है और प्रयोग की पूर्णतः अवहेलना करती है, अतः फ़्रेम जोड़ना यह पुनर्व्यवस्थित कर देता है कि कौन-से पृष्ठ संयोगवश प्राचीनतम हैं। विकल्प A वही सहज बोध है जिसे तोड़ने हेतु प्रश्न विद्यमान है। विकल्प D इस प्रकार आगे बढ़ जाता है जिसका खंडन यही माला करती है — यहाँ 3 फ़्रेम पर LRU 10 दोष लेती है FIFO के 9 के सामने, अतः LRU सदा श्रेष्ठ नहीं; सदा सत्य केवल यह है कि LRU विसंगति नहीं दिखा सकती।किसी inode में 10 प्रत्यक्ष खंड-सूचक, एक एकल-परोक्ष सूचक व एक द्वि-परोक्ष सूचक हैं। खंड-आकार 1 KB है और प्रत्येक खंड-सूचक 4 बाइट। अधिकतम फ़ाइल आकार, MB में, दो दशमलव स्थान तक, ______ है
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 64.26
64.26 MB। प्रति खंड सूचक पहले निकालें: 1024 / 4 = 256। तत्पश्चात् प्रत्येक सूचक-वर्ग उसकी एक घात देता है। प्रत्यक्ष: 10 खंड। एकल परोक्ष: सूचकों का एक खंड, अतः 256 खंड। द्वि-परोक्ष: 256 सूचक-खंड, प्रत्येक 256 सूचक धारण करता, अतः 256² = 65,536 खंड। कुल 10 + 256 + 65,536 = 65,802 खंड, और प्रति खंड 1 KB पर वह 65,802 KB। 1024 से भाग देने पर 64.26 MB। इस एक प्रश्न में दो जाल बैठे हैं। 1024 के बजाय 1000 से भाग देने पर 65.80 मिलता है, जो सर्वाधिक बार दिखता गलत उत्तर है। और ध्यान दें द्वि-परोक्ष कुल का 99.6% देता है, अतः 64 MB के निकट उत्तर सही है जबकि 0.25 MB के निकट का अर्थ है वर्ग करना छूट गया।किसी तंत्र में 32-बिट आभासी पता-स्थान, 4 KB पृष्ठ व 4-बाइट पृष्ठ-सारणी प्रविष्टियाँ हैं। प्रति प्रक्रिया एक-स्तरीय पृष्ठ-सारणी का आकार है:
उत्तर देखें
उत्तर: B — 4 MB
4 MB। 4 KB पृष्ठ को 12-बिट विचलन चाहिए, जिससे 32 − 12 = 20 बिट पृष्ठ-संख्या बचती है, अतः 220 = 1,048,576 पृष्ठ हैं और अतः उतनी ही प्रविष्टियाँ। प्रत्येक 4 बाइट पर: 220 × 22 = 222 बाइट = 4 MB, प्रति प्रक्रिया, और स्थायी, चाहे प्रक्रिया उतनी स्मृति प्रयोग करे या न करे। वही आँकड़ा बहु-स्तरीय पृष्ठ-सारणियों की सम्पूर्ण प्रेरणा है — 4 KB / 4 बाइट = 1024 प्रविष्टियाँ एक पृष्ठ में बैठती हैं, अतः 20-बिट पृष्ठ-संख्या 10 | 10 में विभक्त होती है और केवल वे आंतरिक सारणियाँ विद्यमान होनी चाहिए जो वस्तुतः प्रयुक्त पृष्ठों को ढकती हैं। विकल्प A प्रविष्टि-आकार छोड़ देता है और पृष्ठों की गिनती मेगा-इकाइयों में बताता है। विकल्प C सारणी के एक पृष्ठ का आकार है, सारणी का नहीं। विकल्प D पता-स्थान के प्रति बाइट एक 4-बाइट प्रविष्टि से निकलता, जो पृष्ठ-आकार से चूकता है।पृष्ठ प्रतिस्थापन के विषय में निम्नलिखित में से कौन-से कथन सत्य हैं?
उत्तर देखें
उत्तर: A — बेलेडी की विसंगति FIFO प्रतिस्थापन में हो सकती है; B — LRU अधिक फ़्रेम सहित कभी अधिक दोष उत्पन्न नहीं कर सकती; D — इष्टतम कलनविधि को भावी संदर्भों का ज्ञान चाहिए
A, B व D। A बेलेडी की विसंगति है, 1 2 3 4 1 2 5 1 2 3 4 5 पर प्रदर्शित जहाँ FIFO 3 फ़्रेम से 4 पर 9 → 10 दोष जाती है। B स्टैक गुणधर्म है: LRU n सर्वाधिक नवीन प्रयुक्त पृष्ठ धारण करती है, जो सदा n + 1 सर्वाधिक नवीन प्रयुक्त के उपसमुच्चय हैं, अतः फ़्रेम जोड़ने से कोई मेल नहीं खोता। D, OPT की परिभाषा है और वही कारण है कि वह कार्यान्वयन के बजाय मानदंड है — वह उस पृष्ठ को निकालती है जिसका अगला प्रयोग सर्वाधिक दूर है, जिसके लिए संदर्भ-माला पहले से चाहिए। C असत्य है, और वही माला उसका खंडन करती है: 3 फ़्रेम पर LRU 10 दोष लेती है FIFO के 9 के सामने। LRU श्रेष्ठ अनुमानक है, यह दाँव लगाती कि नवीन प्रयोग भावी प्रयोग की भविष्यवाणी करता है, और यह माला ठीक उसी दाँव को दंडित करने हेतु बनी है, पृष्ठों से ऐसे चक्रित होकर कि सर्वाधिक-पूर्व-प्रयुक्त पृष्ठ सदा अगला आवश्यक हो। दोनों दावे पृथक् रखें: B एक कलनविधि के विषय में फ़्रेम-गणनाओं के आर-पार है और टिकता है; C नियत फ़्रेम-गणना पर कलनविधियों के बीच तुलना है और नहीं टिकता।कौन-सी फ़ाइल आवंटन रणनीति पूर्ववर्ती खंड पढ़े बिना किसी फ़ाइल के k-वें खंड तक प्रत्यक्ष पहुँच नहीं दे सकती?
उत्तर देखें
उत्तर: B — कड़ीबद्ध आवंटन
कड़ीबद्ध आवंटन। प्रत्येक खंड अगले का पता संचित करता है, अतः खंड k का पता केवल खंड 0 से k − 1 तक पढ़कर ज्ञात हो सकता है — एक खंड तक पहुँचने हेतु k डिस्क-पहुँचें, और इसीलिए कड़ीबद्ध आवंटन क्रमिक फ़ाइलों के अनुकूल है और अन्यत्र नहीं। सन्निहित आवंटन पता अंकगणितीय रूप सेआरंभ + kनिकालता है, एकमात्र पहुँच। अनुक्रमित आवंटन अनुक्रमणिका खंड एक बार पढ़ता है और फिर सीधे k की प्रविष्टि पर जाता है। सौदा दोनों प्रकार कहने योग्य है: तीनों में कड़ीबद्ध आवंटन ही बाह्य खंडन से रहित व मुक्त वृद्धि वाला है, क्योंकि अगला खंड कहीं भी हो सकता है, और उसका मूल्य वह प्रत्यक्ष पहुँच की हानि तथा इस भंगुरता से चुकाता है कि एक भ्रष्ट सूचक फ़ाइल का सम्पूर्ण शेष पुच्छ अनाथ कर देता है।आंतरिक खंडन पृष्ठन का लक्षण है, जबकि बाह्य खंडन खंडन का। कारण है:
उत्तर देखें
उत्तर: B — पृष्ठन नियत-आकार इकाइयाँ आवंटित करता है, अतः व्यर्थता अंतिम इकाई के भीतर पड़ती है; खंड आकार में भिन्न हैं, अतः व्यर्थता उनके बीच पड़ती है
कारण आवंटन-इकाई है, आकार नहीं। चूँकि प्रत्येक फ़्रेम समान आकार का है, कोई भी मुक्त फ़्रेम किसी भी निवेदन को ठीक संतुष्ट करता है, अतः आवंटनों के बीच कोई अप्रयोज्य अंतराल बन नहीं सकता — किंतु कोई प्रक्रिया विरले ही पूर्ण संख्या में पृष्ठ भरती है, अतः उसका अंतिम पृष्ठ अंशतः रिक्त होता है: आंतरिक खंडन, प्रति प्रक्रिया औसतन आधा पृष्ठ। खंड तार्किक इकाइयों के आकार के होते हैं, अतः किसी एक के भीतर कुछ व्यर्थ नहीं जाता, पर भिन्न आकारों के खंड मुक्त करना अगले निवेदन हेतु बहुत छोटे छिद्र छोड़ता है: बाह्य खंडन। विकल्प A कारणता की दिशा गलत लेता है; पृष्ठ बड़े करना आंतरिक खंडन बदलने के बजाय बढ़ाता है। विकल्प C विषय से परे है और शिथिल भी — खंडन खंड-सारणी प्रयोग करता है, और पृष्ठित खंडन दोनों। विकल्प D उपचार उलट देता है: संहनन बाह्य खंडन का समाधान करता है, अतः वह खंडन का है।ऊपर के तंत्र में TLB मेल-अनुपात 80% से 90% करना (TLB 20 ns, स्मृति 100 ns, TLB पहले देखा जाता) प्रभावी पहुँच-समय 140 ns से किस पर बदल देता है?
उत्तर देखें
उत्तर: B — 130 ns
130 ns। मेल की लागत 120 ns व चूक की 220 ns है, अतः 0.9(120) + 0.1(220) = 108 + 22 = 130। संरचना पुनर्गणना के बजाय पढ़ लेने योग्य है: दोनों लागतें ठीक एक स्मृति-पहुँच, 100 ns, से भिन्न हैं, अतः मेल-अनुपात के प्रत्येक 10 अंक 10 ns के मूल्य के हैं — जो उत्तर तत्काल देता है और इन प्राचलों सहित किसी भी EMAT प्रश्न पर जाँच भी। विकल्प A स्वयं मेल की लागत है, जो अनुपात 100% के निकट पहुँचने की सीमा है पर 90% पर प्राप्त नहीं। विकल्प D भूल जाता है कि TLB पहुँच का मूल्य मेल पर भी लिया जाता है, जो केवल उस अतिव्यापी-खोज परिपाटी में सही होता जिसे यह प्रश्न प्रयोग नहीं करता। विकल्प C किसी भिन्न पाठ के बजाय भारण में अंकगणित-चूक से निकलता।