यूजर स्पेस और कर्नेल स्पेस: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
{{anchor|KERNEL}} | {{anchor|KERNEL}} | ||
कर्नेल स्पेस | कर्नेल स्पेस प्रिविलेज [[ऑपरेटिंग सिस्टम कर्नेल]], कर्नेल एक्सटेंशन और अधिकांश [[डिवाइस ड्राइवर]] को रन कराने के लिए सख्ती से आरक्षित है। इसके विपरीत, यूजर स्पेस मेमोरी क्षेत्र है जहाँ [[अनुप्रयोग प्रक्रिया सामग्री|एप्लिकेशन सॉफ़्टवेयर]] और कुछ ड्राइवर निष्पादित होते हैं। | ||
== {{Anchor|USERLAND}}अवलोकन == | == {{Anchor|USERLAND}}अवलोकन == | ||
यूजर स्पेस (या यूजरलैंड) उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर | यूजर स्पेस (या यूजरलैंड) उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर रन करते हैं।<ref>{{cite web | ||
| url = http://www.catb.org/jargon/html/U/userland.html | | url = http://www.catb.org/jargon/html/U/userland.html | ||
| title = userland, n. | | title = userland, n. | ||
Line 15: | Line 15: | ||
| access-date = 2016-08-14}}</ref> यूजर स्पेस सामान्यतः विभिन्न प्रोग्रामों और [[ पुस्तकालय (कम्प्यूटिंग) ]] को संदर्भित करता है जिसका उपयोग ऑपरेटिंग सिस्टम कर्नेल से इंटरैक्ट करने के लिए करता है- सॉफ्टवेयर जो इनपुट/आउटपुट करता है, [[फाइल सिस्टम]] ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर आदि में परिवर्तन करता है। | | access-date = 2016-08-14}}</ref> यूजर स्पेस सामान्यतः विभिन्न प्रोग्रामों और [[ पुस्तकालय (कम्प्यूटिंग) ]] को संदर्भित करता है जिसका उपयोग ऑपरेटिंग सिस्टम कर्नेल से इंटरैक्ट करने के लिए करता है- सॉफ्टवेयर जो इनपुट/आउटपुट करता है, [[फाइल सिस्टम]] ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर आदि में परिवर्तन करता है। | ||
प्रत्येक यूजर स्पेस [[ प्रक्रिया (कंप्यूटिंग) ]] सामान्य रूप से अपने स्वयं के वर्चुअल मेमोरी स्पेस में | प्रत्येक यूजर स्पेस [[ प्रक्रिया (कंप्यूटिंग) | प्रोसेस (कंप्यूटिंग)]] सामान्य रूप से अपने स्वयं के वर्चुअल मेमोरी स्पेस में रन करता है और अन्य प्रोसेसेज की मेमोरी को एक्सेस नहीं कर सकता जब तक स्पष्ट रूप से इसकी अनुमति प्रदान नहीं जाती है। यह वर्तमान के मेनस्ट्रीम ऑपरेटिंग सिस्टम में मेमोरी प्रोटेक्शन का आधार है और [[ विशेषाधिकार जुदाई | प्रिविलेज सेपरेशन]] के लिए बिल्डिंग ब्लॉक है। कुशल वर्चुअल मशीन बनाने के लिए पृथक यूजर मोड का भी उपयोग किया जा सकता है - पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं को देखें। पर्याप्त प्रिविलेज के साथ, प्रोसेस कर्नेल से किसी अन्य प्रोसेस की मेमोरी स्पेस के अंश को स्वयं में मैप करने की रिक्वेस्ट कर सकती हैं, जैसा कि [[डिबगर]] की स्तिथि में होता है है। प्रोग्राम अन्य प्रोसेसेज के साथ शेयर्ड मेमोरी ([[अंतःप्रक्रम संचार]]) क्षेत्रों का भी अनुरोध कर सकते हैं, चूँकि इंटर-प्रोसेस संचार की अनुमति देने के लिए अन्य तकनीकें भी उपलब्ध हैं। | ||
{{Linux layers}} | {{Linux layers}} |
Revision as of 05:29, 29 April 2023
आधुनिक कंप्यूटर ऑपरेटिंग सिस्टम सामान्यतः आभासी मेमोरी को यूजर स्पेस और कर्नेल स्पेस में पृथक करता है।[lower-alpha 1] मुख्य रूप से, यह पृथक्करण विद्वेषी या सॉफ़्टवेयर के त्रुटिपूर्ण व्यवहार से मेमोरी और हार्डवेयर को सुरक्षा प्रदान करने का कार्य करता है।
कर्नेल स्पेस प्रिविलेज ऑपरेटिंग सिस्टम कर्नेल, कर्नेल एक्सटेंशन और अधिकांश डिवाइस ड्राइवर को रन कराने के लिए सख्ती से आरक्षित है। इसके विपरीत, यूजर स्पेस मेमोरी क्षेत्र है जहाँ एप्लिकेशन सॉफ़्टवेयर और कुछ ड्राइवर निष्पादित होते हैं।
अवलोकन
यूजर स्पेस (या यूजरलैंड) उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर रन करते हैं।[1] यूजर स्पेस सामान्यतः विभिन्न प्रोग्रामों और पुस्तकालय (कम्प्यूटिंग) को संदर्भित करता है जिसका उपयोग ऑपरेटिंग सिस्टम कर्नेल से इंटरैक्ट करने के लिए करता है- सॉफ्टवेयर जो इनपुट/आउटपुट करता है, फाइल सिस्टम ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर आदि में परिवर्तन करता है।
प्रत्येक यूजर स्पेस प्रोसेस (कंप्यूटिंग) सामान्य रूप से अपने स्वयं के वर्चुअल मेमोरी स्पेस में रन करता है और अन्य प्रोसेसेज की मेमोरी को एक्सेस नहीं कर सकता जब तक स्पष्ट रूप से इसकी अनुमति प्रदान नहीं जाती है। यह वर्तमान के मेनस्ट्रीम ऑपरेटिंग सिस्टम में मेमोरी प्रोटेक्शन का आधार है और प्रिविलेज सेपरेशन के लिए बिल्डिंग ब्लॉक है। कुशल वर्चुअल मशीन बनाने के लिए पृथक यूजर मोड का भी उपयोग किया जा सकता है - पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं को देखें। पर्याप्त प्रिविलेज के साथ, प्रोसेस कर्नेल से किसी अन्य प्रोसेस की मेमोरी स्पेस के अंश को स्वयं में मैप करने की रिक्वेस्ट कर सकती हैं, जैसा कि डिबगर की स्तिथि में होता है है। प्रोग्राम अन्य प्रोसेसेज के साथ शेयर्ड मेमोरी (अंतःप्रक्रम संचार) क्षेत्रों का भी अनुरोध कर सकते हैं, चूँकि इंटर-प्रोसेस संचार की अनुमति देने के लिए अन्य तकनीकें भी उपलब्ध हैं।
कार्यान्वयन
पर्यवेक्षक मोड से अलग उपयोगकर्ता मोड को लागू करने का सबसे आम तरीका ऑपरेटिंग सिस्टम सुरक्षा रिंग्स शामिल है। संरक्षण के छल्ले, बदले में, सीपीयू मोड का उपयोग करके कार्यान्वित किए जाते हैं। सामान्यतः, कर्नेल स्पेस प्रोग्राम कर्नेल मोड में चलते हैं, जिसे सुपरवाइज़र मोड भी कहा जाता है; यूजर स्पेस में सामान्य अनुप्रयोग उपयोगकर्ता मोड में चलते हैं।
कई ऑपरेटिंग सिस्टम सिंगल एड्रेस स्पेस ऑपरेटिंग सिस्टम हैं - उनके पास सभी यूजर-मोड कोड के लिए एक सिंगल एड्रेस स्पेस है। (कर्नेल-मोड कोड एक ही एड्रेस स्पेस में हो सकता है, या यह दूसरे एड्रेस स्पेस में हो सकता है)। कई अन्य ऑपरेटिंग सिस्टम में प्रति-प्रक्रिया पता स्थान होता है, प्रत्येक उपयोगकर्ता-मोड प्रक्रिया के लिए एक अलग पता स्थान होता है।
प्रायोगिक ऑपरेटिंग सिस्टम में लिया गया एक अन्य दृष्टिकोण सभी सॉफ़्टवेयर के लिए एक ही पता स्थान है, और यह सुनिश्चित करने के लिए प्रोग्रामिंग भाषा के शब्दार्थ पर निर्भर है कि मनमाना मेमोरी तक पहुँचा नहीं जा सकता है - एप्लिकेशन केवल उन वस्तुओं के लिए कोई संदर्भ (कंप्यूटर विज्ञान) प्राप्त नहीं कर सकते हैं जो उन्हें प्रवेश की अनुमति नहीं है।[3][4] यह दृष्टिकोण JX (ऑपरेटिंग सिस्टम), यूनुनियम के साथ-साथ माइक्रोसॉफ्ट के सिंगुलैरिटी (ऑपरेटिंग सिस्टम) रिसर्च प्रोजेक्ट में लागू किया गया है।
यह भी देखें
- बीआईओएस
- सीपीयू मोड
- प्रारंभिक यूजर स्पेस
- स्मृति सुरक्षा
- ओएस-स्तरीय वर्चुअलाइजेशन
टिप्पणियाँ
- ↑ Older operating systems, such as DOS and Windows 3.1x, do not use this architecture.
संदर्भ
- ↑ "userland, n." The Jargon File. Eric S. Raymond. Retrieved 2016-08-14.
- ↑ "Admin Guide README". git.kernel.org.
- ↑ "Unununium System Introduction". Archived from the original on 2001-12-15. Retrieved 2016-08-14.
- ↑ "uuu/docs/system_introduction/uuu_intro.tex". UUU System Introduction Guide. 2001-06-01. Retrieved 2016-08-14.
बाहरी संबंध
- Linux Kernel Space Definition
- Entering User Mode at the Wayback Machine (archived March 26, 2016)