यूजर स्पेस और कर्नेल स्पेस: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Way of using computer memory}} {{Redirect|Kernel space|the mathematical definition|Null space}} {{Self reference|For the term "user space" as used in Wikip...")
 
No edit summary
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Short description|Way of using computer memory}}
{{Short description|Way of using computer memory}}आधुनिक कंप्यूटर [[ऑपरेटिंग सिस्टम]] सामान्यतः [[ आभासी मेमोरी |वर्चुअल मेमोरी]] को '''यूजर स्पेस और कर्नेल स्पेस''' में भिन्न करता है।{{efn|Older operating systems, such as [[DOS]] and [[Windows 3.1x]], do not use this architecture.}} मुख्य रूप से, यह सेपरेशन मालिसियस या ईरंट सॉफ़्टवेयर बेहेवियर से मेमोरी प्रोटेक्शन और हार्डवेयर प्रोटेक्शन प्रदान करने का कार्य करता है।
{{Redirect|Kernel space|the mathematical definition|Null space}}
{{Self reference|For the term "user space" as used in Wikipedia, see [[Wikipedia:User pages]].}}
{{more citations needed|date=October 2012}}


एक आधुनिक कंप्यूटर [[ऑपरेटिंग सिस्टम]] आमतौर पर [[ आभासी मेमोरी ]] को यूजर स्पेस और कर्नेल स्पेस में अलग करता है।{{efn|Older operating systems, such as [[DOS]] and [[Windows 3.1x]], do not use this architecture.}} मुख्य रूप से, यह अलगाव मेमोरी सुरक्षा और हार्डवेयर सुरक्षा को दुर्भावनापूर्ण या त्रुटिपूर्ण सॉफ़्टवेयर व्यवहार से प्रदान करने का कार्य करता है।
प्रिविलेगेड ऑपरेटिंग सिस्टम कर्नेल, कर्नेल एक्सटेंशन और अधिकांश [[डिवाइस ड्राइवर]] को चलाने के लिए कर्नेल स्पेस स्ट्रिक्टली से रिजर्व्ड है। इसके विपरीत, यूजर स्पेस वह मेमोरी फील्ड है जहां एप्लीकेशन सॉफ्टवेर सामग्री और कुछ ड्राइवर एक्सीक्यूट होते हैं।


{{anchor|KERNEL}}
== अवलोकन ==
कर्नेल स्थान विशेषाधिकार प्राप्त [[ऑपरेटिंग सिस्टम कर्नेल]], कर्नेल एक्सटेंशन और अधिकांश [[डिवाइस ड्राइवर]] चलाने के लिए सख्ती से आरक्षित है। इसके विपरीत, उपयोगकर्ता स्थान मेमोरी क्षेत्र है जहां [[अनुप्रयोग प्रक्रिया सामग्री]] और कुछ ड्राइवर निष्पादित होते हैं।
 
== {{Anchor|USERLAND}}अवलोकन ==
यूजर स्पेस (या यूजरलैंड) शब्द उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर चलता है।<ref>{{cite web
यूजर स्पेस (या यूजरलैंड) शब्द उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर चलता है।<ref>{{cite web
| url = http://www.catb.org/jargon/html/U/userland.html
| url = http://www.catb.org/jargon/html/U/userland.html
Line 15: Line 9:
| work = The [[Jargon File]]
| work = The [[Jargon File]]
| publisher = [[Eric S. Raymond]]
| publisher = [[Eric S. Raymond]]
| access-date = 2016-08-14}}</ref> उपयोगकर्ता स्थान आमतौर पर विभिन्न कार्यक्रमों और [[ पुस्तकालय (कम्प्यूटिंग) ]] को संदर्भित करता है जिसका उपयोग ऑपरेटिंग सिस्टम कर्नेल के साथ बातचीत करने के लिए करता है: सॉफ्टवेयर जो इनपुट/आउटपुट करता है, [[फाइल सिस्टम]] ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर आदि में हेरफेर करता है।
| access-date = 2016-08-14}}</ref> यूजर स्पेस सामान्यतः विभिन्न प्रोग्रामों और लाइब्रेरी (कंप्यूटिंग) को संदर्भित करता है जो ऑपरेटिंग सिस्टम कर्नेल के साथ वार्तालाप करने के लिए उपयोग करता है: सॉफ्टवेयर जो इनपुट/आउटपुट करता है, [[फाइल सिस्टम]] ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर इत्यादि में अदान-प्रदान करता है।


प्रत्येक यूजर स्पेस [[ प्रक्रिया (कंप्यूटिंग) ]] सामान्य रूप से अपने स्वयं के वर्चुअल मेमोरी स्पेस में चलता है, और, जब तक स्पष्ट रूप से अनुमति नहीं दी जाती है, अन्य प्रक्रियाओं की मेमोरी तक नहीं पहुंच सकता है। यह आज के मेनस्ट्रीम ऑपरेटिंग सिस्टम में मेमोरी प्रोटेक्शन का आधार है, और [[ विशेषाधिकार जुदाई ]] के लिए बिल्डिंग ब्लॉक है। कुशल वर्चुअल मशीन बनाने के लिए एक अलग उपयोगकर्ता मोड का भी उपयोग किया जा सकता है - पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं को देखें। पर्याप्त विशेषाधिकारों के साथ, प्रक्रियाएं कर्नेल से किसी अन्य प्रक्रिया की मेमोरी स्पेस के हिस्से को अपने आप में मैप करने का अनुरोध कर सकती हैं, जैसा कि [[डिबगर]]्स के मामले में है। प्रोग्राम अन्य प्रक्रियाओं के साथ साझा मेमोरी ([[अंतःप्रक्रम संचार]]) क्षेत्रों का भी अनुरोध कर सकते हैं, हालांकि इंटर-प्रोसेस संचार की अनुमति देने के लिए अन्य तकनीकें भी उपलब्ध हैं।
प्रत्येक यूजर स्पेस [[प्रक्रिया (कंप्यूटिंग)|सॉफ्टवेर (कंप्यूटिंग)]] सामान्यतः अपने स्वयं के वर्चुअल मेमोरी स्पेस में चलती है, और, जब तक कि स्पष्ट रूप से अनुमति दी जाए, अन्य प्रक्रियाओं की मेमोरी तक नहीं पहुंच सकती। यह आज के मुख्यधारा के ऑपरेटिंग सिस्टम में मेमोरी प्रोटेक्शन का आधार है, और विशेषाधिकार सेपरेशन के लिए बिल्डिंग ब्लॉक है। कुशल वर्चुअल मशीन बनाने के लिए एक भिन्न यूजर मोड का भी उपयोग किया जा सकता है - पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताएँ देखें। पर्याप्त विशेषाधिकारों के साथ, प्रक्रियाएं कर्नेल से किसी अन्य सॉफ्टवेर के मेमोरी स्पेस के हिस्से को अपने लिए मैप करने का अनुरोध कर सकती हैं, जैसा कि डिबगर के विषय में होता है। प्रोग्राम अन्य प्रक्रियाओं के साथ शेयर मेमोरी (इंटरप्रोसेस संचार) क्षेत्रों का भी अनुरोध कर सकते हैं, चूंकि अंतर-सॉफ्टवेर संचार की अनुमति देने के लिए अन्य प्रौद्योगिकी भी उपलब्ध हैं।


{{Linux layers}}
{{Linux layers}}
{{Clear}}
== इम्प्लीमेंटेशन ==
कर्नल मोड से भिन्न यूजर मोड को प्रारम्भ करने का सबसे सरल उपाय ऑपरेटिंग सिस्टम प्रोटेक्शन रिंग सम्मिलित है। प्रोटेक्शन रिंग, परिवर्तन में, [[सीपीयू मोड]] का उपयोग करके इम्प्लीमेंटेशन किया जाता हैं। सामान्यतः, कर्नेल स्पेस प्रोग्राम [[कर्नेल मोड]] में चलते हैं, जिसे सुपरवाइज़र मोड भी कहा जाता है; यूजर स्पेस में नार्मल एप्लीकेशन यूजर मोड में चलते हैं।


== कार्यान्वयन ==
कई ऑपरेटिंग सिस्टम सिंगल एड्रेस स्पेस ऑपरेटिंग सिस्टम हैं- उनके पास सभी यूजर-मोड कोड के लिए एक ही एड्रेस स्पेस है। (कर्नेल-मोड कोड एक ही [[पता स्थान|एड्रेस स्पेस]] में हो सकता है, या यह दूसरे एड्रेस स्पेस में हो सकता है)। कई अन्य ऑपरेटिंग सिस्टम में पर-सॉफ्टवेर एड्रेस स्पेस होता है, प्रत्येक यूजर-मोड सॉफ्टवेर के लिए एक भिन्न एड्रेस स्पेस होता है।
[[पर्यवेक्षक मोड]] से अलग उपयोगकर्ता मोड को लागू करने का सबसे आम तरीका ऑपरेटिंग सिस्टम सुरक्षा रिंग्स शामिल है।
संरक्षण के छल्ले, बदले में, [[सीपीयू मोड]] का उपयोग करके कार्यान्वित किए जाते हैं।
आमतौर पर, कर्नेल स्पेस प्रोग्राम [[कर्नेल मोड]] में चलते हैं, जिसे सुपरवाइज़र मोड भी कहा जाता है;
उपयोगकर्ता स्थान में सामान्य अनुप्रयोग उपयोगकर्ता मोड में चलते हैं।


कई ऑपरेटिंग सिस्टम [[सिंगल एड्रेस स्पेस ऑपरेटिंग सिस्टम]] हैं - उनके पास सभी यूजर-मोड कोड के लिए एक सिंगल एड्रेस स्पेस है। (कर्नेल-मोड कोड एक ही एड्रेस स्पेस में हो सकता है, या यह दूसरे एड्रेस स्पेस में हो सकता है)।
एक्सपेरिमेंटल ऑपरेटिंग सिस्टम में अपनाया जाने वाला अन्य एप्रोच सभी सॉफ़्टवेयर के लिए एक ही एड्रेस स्पेस रखना है, और यह सुनिश्चित करने के लिए प्रोग्रामिंग लैंग्वेज के शब्दार्थ पर विश्वास करना है कि मेमोरी तक नहीं पहुंचा जा सकता है- एप्लिकेशन केवल उन ऑब्जेक्ट्स के लिए कोई [[संदर्भ (कंप्यूटर विज्ञान)|रिफरेन्स (कंप्यूटर विज्ञान)]] प्राप्त नहीं कर सकते हैं जो उन्हें प्रवेश की अनुमति नहीं है।<ref>{{cite web
कई अन्य ऑपरेटिंग सिस्टम में प्रति-प्रक्रिया [[पता स्थान]] होता है, प्रत्येक उपयोगकर्ता-मोड प्रक्रिया के लिए एक अलग पता स्थान होता है।
 
प्रायोगिक ऑपरेटिंग सिस्टम में लिया गया एक अन्य दृष्टिकोण सभी सॉफ़्टवेयर के लिए एक ही पता स्थान है, और यह सुनिश्चित करने के लिए प्रोग्रामिंग भाषा के शब्दार्थ पर निर्भर है कि मनमाना मेमोरी तक पहुँचा नहीं जा सकता है - एप्लिकेशन केवल उन वस्तुओं के लिए कोई [[संदर्भ (कंप्यूटर विज्ञान)]] प्राप्त नहीं कर सकते हैं जो उन्हें प्रवेश की अनुमति नहीं है।<ref>{{cite web
| url=http://uuu.sourceforge.net/si.php#SEC6
| url=http://uuu.sourceforge.net/si.php#SEC6
| title=Unununium System Introduction
| title=Unununium System Introduction
Line 42: Line 30:
| work=UUU System Introduction Guide
| work=UUU System Introduction Guide
| date=2001-06-01
| date=2001-06-01
| access-date = 2016-08-14}}</ref> यह दृष्टिकोण JX (ऑपरेटिंग सिस्टम), यूनुनियम के साथ-साथ माइक्रोसॉफ्ट के सिंगुलैरिटी (ऑपरेटिंग सिस्टम) रिसर्च प्रोजेक्ट में लागू किया गया है।
| access-date = 2016-08-14}}</ref> यह एप्रोच [[जेएक्स (ऑपरेटिंग सिस्टम)]], यूनुनुनियम के साथ-साथ माइक्रोसॉफ्ट के [[ विलक्षणता (ऑपरेटिंग सिस्टम) |सिंगुलरिटी (ऑपरेटिंग सिस्टम)]] रिसर्च प्रोजेक्ट में प्रारम्भ किया गया है।


== यह भी देखें ==
== यह भी देखें ==
* बीआईओएस
* [[ BIOS |BIOS]]
* सीपीयू मोड
* सीपीयू मोड
* [[प्रारंभिक उपयोगकर्ता स्थान]]
* प्रारंभिक यूजर स्पेस
* स्मृति सुरक्षा
* मैमोरी प्रोटेक्शन
* [[ओएस-स्तरीय वर्चुअलाइजेशन]]
* [[ओएस-स्तरीय वर्चुअलाइजेशन]]


Line 55: Line 43:




== संदर्भ ==
== रिफरेन्स ==


{{Reflist}}
{{Reflist}}
Line 64: Line 52:
* {{webarchive |url=https://web.archive.org/web/20160326162854/http://xarnze.com/article/Entering%20User%20Mode |date=March 26, 2016 |title=Entering User Mode }}
* {{webarchive |url=https://web.archive.org/web/20160326162854/http://xarnze.com/article/Entering%20User%20Mode |date=March 26, 2016 |title=Entering User Mode }}


{{Operating System}}
{{DEFAULTSORT:User Space}}
 
{{DEFAULTSORT:User Space}}[[Category: ऑपरेटिंग सिस्टम प्रौद्योगिकी]] [[Category: डिवाइस ड्राइवर]]
 
 


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page|User Space]]
[[Category:Created On 26/04/2023]]
[[Category:Collapse templates|User Space]]
[[Category:Created On 26/04/2023|User Space]]
[[Category:Lua-based templates|User Space]]
[[Category:Machine Translated Page|User Space]]
[[Category:Missing redirects|User Space]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|User Space]]
[[Category:Pages with script errors|User Space]]
[[Category:Short description with empty Wikidata description|User Space]]
[[Category:Sidebars with styles needing conversion|User Space]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|User Space]]
[[Category:Templates generating microformats|User Space]]
[[Category:Templates that add a tracking category|User Space]]
[[Category:Templates that are not mobile friendly|User Space]]
[[Category:Templates that generate short descriptions|User Space]]
[[Category:Templates using TemplateData|User Space]]
[[Category:Webarchive template wayback links|User Space]]
[[Category:Wikipedia metatemplates|User Space]]
[[Category:ऑपरेटिंग सिस्टम प्रौद्योगिकी|User Space]]
[[Category:डिवाइस ड्राइवर|User Space]]

Latest revision as of 11:39, 16 October 2023

आधुनिक कंप्यूटर ऑपरेटिंग सिस्टम सामान्यतः वर्चुअल मेमोरी को यूजर स्पेस और कर्नेल स्पेस में भिन्न करता है।[lower-alpha 1] मुख्य रूप से, यह सेपरेशन मालिसियस या ईरंट सॉफ़्टवेयर बेहेवियर से मेमोरी प्रोटेक्शन और हार्डवेयर प्रोटेक्शन प्रदान करने का कार्य करता है।

प्रिविलेगेड ऑपरेटिंग सिस्टम कर्नेल, कर्नेल एक्सटेंशन और अधिकांश डिवाइस ड्राइवर को चलाने के लिए कर्नेल स्पेस स्ट्रिक्टली से रिजर्व्ड है। इसके विपरीत, यूजर स्पेस वह मेमोरी फील्ड है जहां एप्लीकेशन सॉफ्टवेर सामग्री और कुछ ड्राइवर एक्सीक्यूट होते हैं।

अवलोकन

यूजर स्पेस (या यूजरलैंड) शब्द उन सभी कोड को संदर्भित करता है जो ऑपरेटिंग सिस्टम के कर्नेल के बाहर चलता है।[1] यूजर स्पेस सामान्यतः विभिन्न प्रोग्रामों और लाइब्रेरी (कंप्यूटिंग) को संदर्भित करता है जो ऑपरेटिंग सिस्टम कर्नेल के साथ वार्तालाप करने के लिए उपयोग करता है: सॉफ्टवेयर जो इनपुट/आउटपुट करता है, फाइल सिस्टम ऑब्जेक्ट्स, एप्लिकेशन सॉफ़्टवेयर इत्यादि में अदान-प्रदान करता है।

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

Various layers within Linux, also showing separation between the userland and kernel space
User mode User applications bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, ...
System components init daemon:
OpenRC, runit, systemd...
System daemons:
polkitd, smbd, sshd, udevd...
Window manager:
X11, Wayland, SurfaceFlinger (Android)
Graphics:
Mesa, AMD Catalyst, ...
Other libraries:
GTK, Qt, EFL, SDL, SFML, FLTK, GNUstep, ...
C standard library fopen, execv, malloc, memcpy, localtime, pthread_create... (up to 2000 subroutines)
glibc aims to be fast, musl aims to be lightweight, uClibc targets embedded systems, bionic was written for Android, etc. All aim to be POSIX/SUS-compatible.
Kernel mode Linux kernel stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (about 380 system calls)
The Linux kernel System Call Interface (SCI), aims to be POSIX/SUS-compatible[2]
Process scheduling
subsystem
IPC
subsystem
Memory management
subsystem
Virtual files
subsystem
Network
subsystem
Other components: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter
Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack
Hardware (CPU, main memory, data storage devices, etc.)

इम्प्लीमेंटेशन

कर्नल मोड से भिन्न यूजर मोड को प्रारम्भ करने का सबसे सरल उपाय ऑपरेटिंग सिस्टम प्रोटेक्शन रिंग सम्मिलित है। प्रोटेक्शन रिंग, परिवर्तन में, सीपीयू मोड का उपयोग करके इम्प्लीमेंटेशन किया जाता हैं। सामान्यतः, कर्नेल स्पेस प्रोग्राम कर्नेल मोड में चलते हैं, जिसे सुपरवाइज़र मोड भी कहा जाता है; यूजर स्पेस में नार्मल एप्लीकेशन यूजर मोड में चलते हैं।

कई ऑपरेटिंग सिस्टम सिंगल एड्रेस स्पेस ऑपरेटिंग सिस्टम हैं- उनके पास सभी यूजर-मोड कोड के लिए एक ही एड्रेस स्पेस है। (कर्नेल-मोड कोड एक ही एड्रेस स्पेस में हो सकता है, या यह दूसरे एड्रेस स्पेस में हो सकता है)। कई अन्य ऑपरेटिंग सिस्टम में पर-सॉफ्टवेर एड्रेस स्पेस होता है, प्रत्येक यूजर-मोड सॉफ्टवेर के लिए एक भिन्न एड्रेस स्पेस होता है।

एक्सपेरिमेंटल ऑपरेटिंग सिस्टम में अपनाया जाने वाला अन्य एप्रोच सभी सॉफ़्टवेयर के लिए एक ही एड्रेस स्पेस रखना है, और यह सुनिश्चित करने के लिए प्रोग्रामिंग लैंग्वेज के शब्दार्थ पर विश्वास करना है कि मेमोरी तक नहीं पहुंचा जा सकता है- एप्लिकेशन केवल उन ऑब्जेक्ट्स के लिए कोई रिफरेन्स (कंप्यूटर विज्ञान) प्राप्त नहीं कर सकते हैं जो उन्हें प्रवेश की अनुमति नहीं है।[3][4] यह एप्रोच जेएक्स (ऑपरेटिंग सिस्टम), यूनुनुनियम के साथ-साथ माइक्रोसॉफ्ट के सिंगुलरिटी (ऑपरेटिंग सिस्टम) रिसर्च प्रोजेक्ट में प्रारम्भ किया गया है।

यह भी देखें

टिप्पणियाँ

  1. Older operating systems, such as DOS and Windows 3.1x, do not use this architecture.


रिफरेन्स

  1. "userland, n." The Jargon File. Eric S. Raymond. Retrieved 2016-08-14.
  2. "Admin Guide README". git.kernel.org.
  3. "Unununium System Introduction". Archived from the original on 2001-12-15. Retrieved 2016-08-14.
  4. "uuu/docs/system_introduction/uuu_intro.tex". UUU System Introduction Guide. 2001-06-01. Retrieved 2016-08-14.


बाहरी संबंध