6

चलो यूनिप्रोसेसर कंप्यूटर सिस्टम पर ध्यान केंद्रित करते हैं। जब तक कोई प्रक्रिया बनाई जाती है, जहां तक ​​मुझे पता है, पृष्ठ तालिका सेट हो जाती है जो आभासी पते को भौतिक स्मृति पता स्थान पर मानचित्र करता है। प्रत्येक प्रक्रिया को कर्नेल पता स्थान में संग्रहीत, अपनी स्वयं की पृष्ठ तालिका मिलती है। लेकिन एमएमयू प्रक्रिया के लिए सही पेज टेबल कैसे चुनता है क्योंकि केवल एक ही प्रक्रिया नहीं चल रही है और कई संदर्भ स्विच हो रहे हैं?सिस्टम सही पृष्ठ तालिका का चयन कैसे करता है?

किसी भी मदद की सराहना की जाती है!

बेस्ट, साइमन

उत्तर

2

इस मामले में पूरी तरह से MMU क्या एक प्रक्रिया है के बारे में पता है। ऑपरेटिंग सिस्टम, जो प्रक्रियाओं के ट्रैक रखता है, जैसा कि आप कहते हैं, प्रत्येक प्रक्रिया के लिए एक पृष्ठ तालिका उत्पन्न करता है।

  1. ऑपरेटिंग सिस्टम MMU बताता पेज भौतिक पते पर स्थित तालिका का उपयोग करने 0xFOO

  2. ऑपरेटिंग सिस्टम कार्यक्रमों प्रोग्राम बाधा टाइमर (गड्ढे) एक पैदा करने के लिए: संदर्भ स्विचिंग के लिए प्रक्रिया इस प्रकार है बार मिलीसेकंड के बाद हार्डवेयर बाधित

  3. ऑपरेटिंग सिस्टम प्रक्रिया स्थिति (सीपीयू रजिस्ट्रार, प्रोग्राम काउंटर, आदि) को पुनर्स्थापित करता है और सही पते पर कूदता है।

  4. प्रक्रिया तब तक चलती है जब तक पीआईटी एक बाधा उत्पन्न नहीं करता है।

  5. पीआईटी इंटरप्ट को संभालने के लिए ऑपरेटिंग सिस्टम रूटीन प्रोग्राम प्रोग्राम (रजिस्टर्स इत्यादि) को सहेजता है, अगली प्रक्रिया को चलाने के लिए शेड्यूलिंग एल्गोरिदम का उपयोग करता है (एक साधारण मामले में, एक परिपत्र लिंक्ड सूची), फिर शुरू होता है चरण 1 पर

मुझे उम्मीद है कि आपके पास होने वाले किसी भी संदेह को साफ़ कर देगा। संक्षिप्त उत्तर: एमएमयू प्रक्रिया अज्ञेयवादी है और यह नहीं जानता कि प्रक्रिया क्या है।

+0

आपके त्वरित उत्तर के लिए धन्यवाद। तो आप कहते हैं कि ओएस प्रत्येक संदर्भ स्विच पर पृष्ठ तालिका को फ्लश और पुनर्स्थापित करता है? – saimn

+0

@ उपयोगकर्ता 1435023 अनिवार्य रूप से। ऑपरेटिंग सिस्टम एमएमयू को बताता है जहां तालिका भौतिक स्मृति में एक सूचक के रूप में स्थित है, तो एमएमयू टीटीएल और अन्य हार्डवेयर कार्यों की फ्लशिंग को संभालता है। एमएमयू के आधार पर, ऑपरेटिंग सिस्टम के निम्न स्तर के विवरणों का अधिक बढ़िया नियंत्रण हो सकता है, लेकिन यह कड़ाई से जरूरी नहीं है। सबसे सरल स्तर पर, सभी ओएस के बारे में परवाह है कि एमएमयू को कौन सा पेज टेबल उपयोग करना है। – Dougvj

+0

@ उपयोगकर्ता 1435023 सुधार: ऊपर टीएलबी ऊपर, * नहीं * टीटीएल। नाथन बिंकर्ट ने – Dougvj

13

प्रोसेसर के पास पृष्ठ तालिका बेस रजिस्टर (पीटीबीआर) नामक एक विशेषाधिकार प्राप्त रजिस्टर है, x86 पर यह CR3 है। एक संदर्भ स्विच पर, ओएस पीटीबीआर के मान को बदलता है ताकि प्रोसेसर अब जानता है कि कौन सी पेज टेबल का उपयोग करना है। पीटीबीआर के अलावा, कई आधुनिक प्रोसेसर के पास एड्रेस स्पेस नंबर (एएसएन) की धारणा है। प्रक्रियाओं को पता स्थान संख्या (सीमित पूल से) दिया जाता है और यह एएसएन एक संदर्भ स्विच पर भी एक रजिस्टर में सेट किया जाता है। इस एएसएन का उपयोग टीएलबी मिलान के हिस्से के रूप में किया जाता है और टीएलबी प्रविष्टियों को एकाधिक पता रिक्त स्थान से सह-अस्तित्व में रखने की अनुमति देता है। केवल जब एक एएसएन का पुन: उपयोग किया जाता है तो क्या टीएलबी को फ्लश करना आवश्यक होता है, और उसके बाद केवल एएसएन से मेल खाने वाली प्रविष्टियों के लिए। अधिकांश x86 कार्यान्वयन इस से अधिक मोटे अनाज हैं और वैश्विक पृष्ठों की एक धारणा है (साझा पुस्तकालयों और साझा डेटा के लिए)।

+0

चीजों के टीएलबी पहलू पर अधिक उत्तर दिया जो मददगार था धन्यवाद – JohnnyCat