यह एक्सटर्नल फ्रेगमेनटेशन समस्या का एक हल है। यह एक प्रोसेस की फिजीकल एड्रेस स्पेस को मानकांटोजियस होने की अनुमति देता है। इस प्रकार यह फिजिकल मेमोरी को उपलब्धता के अनुसार, इसे किसी प्रोसेस को प्रदान करने की अनुमति देता है। पेजींग विभिन्न आकार के मेमोरी होल्स को बेकिंग स्टोर में व्यवस्थित करने की समस्या को समाप्त करता है।
पेजींग की मूलभूत पद्धति:
इस पद्धति में हम फिजीकल मेमोरी को निश्चित आकार के ब्लॉक्स में विभाजित करते हैं। इन ब्लॉक्स को फ्रेम्स कहा जाता है। लॉजीकल मेमोरी भी समान साइज के ब्लॉक्स में विभाजित की जाती है, जिन्हें पेजेस कहा जाता है। जब प्रोसेस कार्यान्वित होने के लिये तैयार होती है तब इसके पेजेस् को उपलब्ध मेमोरी फ्रेम में बेकिंग स्टोर/डिस्क से लोड कर दिया जाता है। बेकिंग स्टोर को निश्चित आकार के ब्लॉक्स में विभाजित कर दिया जाता है, जो कि मेमोरी फ्रेम के साइज के समान होते हैं।
हार्डवेयर सपोर्ट – पेजींग के लिये उपलब्ध हार्डवेयर, CPU द्वारा निर्मित किए गए प्रत्येक एड्रेस को दो भागों में विभाजित किया गया है: पहला भाग – पेज नम्बर (Pn) और दूसरा भाग पेज ऑफसेट (Po) है। पेज टेबल में, पेज नम्बर को एक इंडेक्स के रूप में देखा जाता है। फिजिकल मेमोरी में स्थित प्रत्येक पेज के बेस एड्रेस को संग्रहीत करने के लिये पेज टेबल का उपयोग किया जाता है । फिजिकल मेमोरी एड्रेस प्रदान करने के लिये यह बेस एड्रेस पेज ऑफसेट के साथ जोड़ जाता है। इसके पश्चात, फिजिकल मेमोरी एड्रेस को मेमोरी में भेजा जाता है।
यदि लॉजिकल एड्रेस स्पेस का आकार 2. है और पेज का आकार 2, एड्रेसिंग इकाई (बाइट्स अथवा शब्द) है, तब लॉजिकल एड्रेस का उच्च क्रम a-b, पेज नम्बर को और निय क्रम b बीट, पेज ऑफसेट को दर्शाता है।
जहाँ P, पेज नम्बर का एक इंडेक्स और Po पेज और मशीन लैंग्वेज के मध्य का एड्रेस होता है। जब हम एक पेजींग स्कीम का उपयोग करते हैं तब आंतरिक विखण्डन की कुछ संभावनाएँ होती हैं। परन्तु इस स्थिति में, बाह्य विखण्डन नहीं होता है। यदि प्रोसेस का आकार, पेज के से आकार तब प्रति प्रोसेस आधे पेज के औसत से आंतरिक विखण्डन पृथक है, होता है। इसीलिये, पेज का छोटा आकार उपयोगी होता है तथा इसी की आवश्यकता भी होती है।
जब कोई प्रोसेस कार्यान्वयन के लिये तैयार होती है, तब सर्वप्रथम प्रोसेस के आकार को पेजेस में स्पष्ट किया जाता है और साथ ही इसका परीक्षण भी किया जाता है। प्रत्येक यूज़र को एक फ्रेम की आवश्यकता होती है। यदि प्रोसेस को n पेजेस् की आवश्यकता है, तब मेमोरी में n मुक्त फ्रेम्स उपलब्ध ड होना अनिवार्य है। यदि मेमोरी में n फ्रेम्स उपलब्ध है, इन्हें कार्यान्वयन के लिये तैयार प्रोसेस को प्रदान कर दिया जाता है। प्रोसेस के पहले पेज को प्रदान की गई किसी एक फ्रेम पर लोड किया जाता है और इस प्रोसेस के लिये फ्रेम नम्बर को पेज टेबल में अंकित किया जाता है। अगले पेज को दूसरी फ्रेम में लोड किया जाता है, और इसके फ्रेम नम्बर को पेज टेबल में रखा जाता है और इसी प्रकार, यह प्रक्रिया चलती रहती है।
पेजींग स्कीम से मेमोरी और वास्तविक फिजिकल मेमोरी संबंधी यूज़र की धारणा का भेद स्पष्ट होता है। यूजर मेमोरी को एक सिंगल कंटिग्यूअस ब्लॉक के रूप में देखता है। इस ब्लॉक में केवल एक यूजर प्रोग्राम होता है। परन्तु वास्तव में, यूजर प्रोग्राम मेमोरी के अंदर फिजिकल मेमोरी पर कहीं भी स्थित हो सकता है। इस फिजिकल मेमोरी में दूसरे प्रोग्राम भी हो सकते हैं। इन दोनों मेमोरी के बीच के अंतर को एड्रेस ट्रांसलेशन हार्डवेयर की सहायता से समझा जा सकता है। यहाँ, लॉजिकल एड्रेस को फिजिकल मेमोरी एड्रेस में ट्रांसलेट किया जाता है। इस ट्रांसलेशन से यूजर अनभिज्ञ रहता है। यह ट्रांसलेशन ऑपरेटिंग सिस्टम द्वारा किया जाता है।
एक ऑपरेटिंग सिस्टम में यह विवरण रहता है कि किस फ्रेम को अलोकेट किया गया है, कौन से फ्रेम उपलब्ध हैं, कितने फ्रेम उपलब्ध हैं, आदि। इस सभी सूचनां को एक टेबल में व्यवस्थित किया जाता है, जिसे फ्रेम टेबल कहा जाता है। फ्रेम टेबल में प्रत्येक फिजिकल पेज की एक इंट्री होती है, जो यह स्पष्ट करती है कि फ्रेम को अलोकेट किया गया है अथवा नहीं और यदि हाँ, तब प्रोसेस के किस पेज को फ्रेम अलोकेट किया गया है।
मेन्यूअली ऑपरेटिंग सिस्टम प्रत्येक प्रोसेस के लिए पेज टेबल की एक प्रति रखता है। जब भी ऑपरेटिंग सिस्टम को फिजिकल एड्रेस के लिये एक लॉजिकल एड्रेस निर्मित करना होता है, तब इस प्रति का उपयोग फिजिकल एड्रेस को लॉजिकल एड्रेस में ट्रांसलेट करने में किया जाता है।
पेज टेबल की संरचना (स्ट्रक्चर):
प्रत्येक ऑपरेटिंग सिस्टम का, पेज टेबल्स को स्टोर करने का अपना तरीका होता है। ज्यादातर सिस्टम, प्रत्येक प्रोसेस के लिए एक पेज टेबल अलोकेट करते हैं। पेज टेबल का एक पॉइन्टर अन्य रजिस्टर वेल्यू के साथ (जैसे इन्सट्रक्शन काऊंटर), प्रोसेस कन्ट्रोल ब्लॉक में स्टोर किया जाता है।
पेज टेबल की संरचना को हार्डवेयर सपोर्ट:
पेज टेबल को डेडीकेटेड रजिस्टर के सेट के रूप लागू किया जाता है। ये रजिस्टर पेजिंग एडरेस ट्रांसलेशन को प्रभावी बनाने के लिए बहुत हाई स्पीड लॉजिक के साथ बने होना चाहिए । यदि पेज टेबल उचित रूप से छोटी है, तब पेज टेबल के लिए रजिस्ट्रर्स का उपयोग उचित होता है ।
पेज टेबल को कार्यान्वित करने हेतु फास्ट रजिस्टर का उपयोग उचित नहीं होता है। पेज टेबल को भी मेन मेमोरी में रखा जाता है और एक पेज टेबल बेस रजिस्टर (PTBR), पेज टेबल को इंगित करता है। पेज टेबल को बदलने के लिए केवल इस रजिस्टर को बदलने की और कान्टेक्स्ट स्वीच टाइम को कम करने की आवश्यकता होती है।इस धारणा की समस्या यूजर मेमोरी लॉकेशन को एक्सेस करने में लगने वाला समय है । एक बाइट (एक पेज टेबल इंट्री और एक बाइट के लिये) एक्सेस करने के लिए दो मेमोरी एक्सेस की आवश्यकता होती है ।
इस समस्या का समुचित हल एक विशेष, छोटे, फास्ट लूक-अप हार्डवेयर केच का उपयोग करना है। इसे एसोसियेटिव रजिस्टर या ट्रांसलेशन लूक-असाइड बफरं (TLPs) कहा जाता है। संबंधित रजिस्टर का सेट विशेष हाई-स्पीड मेमोरी से बना होता है। प्रत्येक रजिस्टर दो भागों से बना होता है। जब संबंधित रजिस्टर को आइटम के साथ प्रस्तुत किया जाता है, तब इसकी तुलना सभी के साथ समान रूप से की जाती है। यदि आइटम खोज लिया जाता है, तब करसपोडिंग वेल्यू फील्ड आउटपुट के रूप में प्राप्त होती है। हार्डवेयर महँगे होने के बाद भी खोज (सर्च) तीव्रता से होती है ।
एसोसियेटिव (संबंधित) रजिस्टर कुछ ही पेज-टेबल इंट्रीस रखता है। जब एक लॉजिकल एड्रेस, CPU के द्वारा जनरेट होता है, तब उसका पेज नंबर, एसोसियेटिव रजिस्टर्स के सैट को प्रदर्शित किया जाता है जहाँ पर पेज नंबर और उनके करसपोडिंग फ्रेम नम्बर्स होते हैं । यदि पेज नम्बर, एसोसियेटिव रजिस्टर में मिलता है, तब उसका फ्रेम नंबर तुरन्त उपलब्ध हो जाता है और मेमोरी लिए उपयोग में लाया जाता है । एक्सेस करने के
यदि पेज नंबर, एसोसियेटीव रजिस्टर में नहीं होता है, तब पेज टेबल के लिए मेमोरी रिफ्रेन्स बनाना होता है। जब फ्रेम नम्बर प्राप्त हो जाता है, तब हम इसका उपयोग मेमोरी को एक्सेस करने के लिए कर सकते हैं। हम पेज नंबर और फ्रेम नंबर को एसेसियोटिव रजिस्टर से जोड़ते हैं, ताकि वे शीघ्र अगले रेफ्रेन्स के लिए मिल जायें । यदि TLB पहले ही इंट्रीस से पूरा भरा है, तब ऑपरेटिंग सिस्टम को रिप्लेसमेंट के लिए एक को सिलेक्ट करना चाहिए ।