डेमन (कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Computer program that runs as a background process}}
{{Short description|Computer program that runs as a background process}}
{{broader|सर्वर (कंप्यूटिंग){{!}}सर्वर}}
{{broader|सर्वर (कंप्यूटिंग){{!}}सर्वर}}
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|right|400px|कुछ [[लिनक्स]] [[डेस्कटॉप वातावरण]] के घटक जो डेमॉन हैं, उनमें [[डी-बस]], [[ नेटवर्क प्रबंधक |नेटवर्क प्रबंधक]] (यहां अननेटवर्क कहा जाता है), [[पल्सऑडियो]] (यूसाउंड) और [[अवही (सॉफ्टवेयर)]] शामिल हैं।]][[कंप्यूटर मल्टीटास्किंग|मल्टीटास्किंग]] कंप्यूटर [[ऑपरेटिंग सिस्टम|प्रचालन तंत्र]] में, एक डेमन ({{IPAc-en|ˈ|d|iː|m|ən}} या {{IPAc-en|ˈ|d|eɪ|m|ən}})<ref name="jargon">{{Cite web|url=http://catb.org/~esr/jargon/html/D/daemon.html |title=daemon|author=Eric S. Raymond |author-link=Eric S. Raymond |access-date=2008-10-22 |work=[[Jargon File|The Jargon File]] }}</ref> एक [[कंप्यूटर प्रोग्राम]] है जो एक अन्योन्यक्रिया उपयोगकर्ता के सीधे नियंत्रण में होने के अतिरिक्त [[पृष्ठभूमि प्रक्रिया|परोक्ष प्रक्रम]] के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वस्तुतः एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए है। उदाहरण के लिए, {{mono|[[syslogd]]}} एक डेमन है जो तंत्र प्रचालेख सुविधा को लागू करता है, और {{mono|sshd}} एक डेमॉन है जो आगामी [[ सुरक्षित खोल |सुरक्षित आवरण]] सम्बन्धों की सेवा करता है।
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|right|400px|कुछ [[लिनक्स]] [[डेस्कटॉप वातावरण]] के घटक जो डेमन हैं, उनमें [[डी-बस]], [[ नेटवर्क प्रबंधक |नेटवर्क प्रबंधक]] (यहां अननेटवर्क कहा जाता है), [[पल्सऑडियो]] (यूसाउंड) और [[अवही (सॉफ्टवेयर)]] शामिल हैं।]][[कंप्यूटर मल्टीटास्किंग|मल्टीटास्किंग]] कंप्यूटर [[ऑपरेटिंग सिस्टम|प्रचालन तंत्र]] में, एक डेमन ({{IPAc-en|ˈ|d|iː|m|ən}} या {{IPAc-en|ˈ|d|eɪ|m|ən}})<ref name="jargon">{{Cite web|url=http://catb.org/~esr/jargon/html/D/daemon.html |title=daemon|author=Eric S. Raymond |author-link=Eric S. Raymond |access-date=2008-10-22 |work=[[Jargon File|The Jargon File]] }}</ref> एक [[कंप्यूटर प्रोग्राम]] है जो एक अन्योन्यक्रिया उपयोगकर्ता के सीधे नियंत्रण में होने के अतिरिक्त [[पृष्ठभूमि प्रक्रिया|परोक्ष प्रक्रम]] के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वस्तुतः एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए है। उदाहरण के लिए, {{mono|[[syslogd]]}} एक डेमन है जो तंत्र प्रचालेख सुविधा को लागू करता है, और {{mono|sshd}} एक डेमन है जो आगामी [[ सुरक्षित खोल |सुरक्षित आवरण]] सम्बन्धों की सेवा करता है।


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


तंत्र प्रायः [[बूटिंग]] के समय डेमॉन प्रारंभ करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ कार्य करके प्रतिक्रिया देगा। [[क्रॉन]] जैसे डेमॉन भी निर्धारित समय पर परिभाषित कार्य कर सकते हैं।
तंत्र प्रायः [[बूटिंग]] के समय डेमन प्रारंभ करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ टास्क करके प्रतिक्रिया देगा। [[क्रॉन]] जैसे डेमन भी निर्धारित समय पर परिभाषित टास्क कर सकते हैं।


== शब्दावली ==
== शब्दावली ==
यह शब्द एमआईटी के प्रोजेक्ट मैक के प्रोग्रामरों द्वारा गढ़ा गया था। फर्नांडो जे. कॉर्बेटो के अनुसार, जिन्होंने 1963 में प्रोजेक्ट मैक पर काम किया था, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के डेमन से प्रेरित थी, जो भौतिकी और [[ऊष्मप्रवैगिकी]] में एक काल्पनिक एजेंट था, एक काल्पनिक एजेंट था, जिसने अणुओं को छांटने में सहायता की, यह कहते हुए, "हमने काल्पनिक रूप से प्रारम्भ के परोक्ष प्रक्रम का वर्णन करने के लिए जो तंत्र के काम करने के लिए अथक रूप से करता है"।<ref>{{Cite web|title=डेमन शब्द की उत्पत्ति|url=http://ei.cs.vt.edu/~history/Daemon.html}}</ref> यूनिक्स तंत्र ने इस शब्दावली को वंशागत में मिला है। मैक्सवेल का डेमन परोक्ष में काम कर रहे एक अलौकिक प्राणी के रूप में एक [[डेमन (पौराणिक कथा)]] की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।
यह शब्द एमआईटी के प्रोजेक्ट मैक के प्रोग्रामरों द्वारा गढ़ा गया था। फर्नांडो जे. कॉर्बेटो के अनुसार, जिन्होंने 1963 में प्रोजेक्ट मैक पर काम किया था, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के डेमन से प्रेरित थी, जो भौतिकी और [[ऊष्मप्रवैगिकी]] में एक काल्पनिक एजेंट था, एक काल्पनिक एजेंट था, जिसने अणुओं को छांटने में सहायता की, यह कहते हुए, "हमने काल्पनिक रूप से प्रारम्भ के परोक्ष प्रक्रम का वर्णन करने के लिए जो तंत्र के काम करने के लिए अथक रूप से करता है"।<ref>{{Cite web|title=डेमन शब्द की उत्पत्ति|url=http://ei.cs.vt.edu/~history/Daemon.html}}</ref> यूनिक्स तंत्र ने इस शब्दावली को वंशागत में मिला है। मैक्सवेल का डेमन परोक्ष में काम कर रहे एक अलौकिक प्राणी के रूप में एक [[डेमन (पौराणिक कथा)]] की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।


सामान्य अर्थ में, [[ग्रीक भाषा]] δαίμων से डेमन शब्द डेमन का एक प्राचीन रूप है। यूनिक्स तंत्र प्रशासन पुस्तिका में [[एवी नेमेथ]] डेमॉन के विषय में निम्नलिखित बताता है:<ref>{{Cite web|title=बीएसडी डेमन|url=http://www.freebsd.org/copyright/daemon.html|access-date=2008-11-15|publisher=Freebsd.org}}</ref>
सामान्य अर्थ में, [[ग्रीक भाषा]] δαίμων से डेमन शब्द डेमन का एक प्राचीन रूप है। यूनिक्स तंत्र प्रशासन पुस्तिका में [[एवी नेमेथ]] डेमन के विषय में निम्नलिखित बताता है:<ref>{{Cite web|title=बीएसडी डेमन|url=http://www.freebsd.org/copyright/daemon.html|access-date=2008-11-15|publisher=Freebsd.org}}</ref>


{{bquote|
{{bquote|
Line 17: Line 17:
पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक डेमन एक ऐसी कुछ है जो अभी तक दिखाई नहीं देती है और सदैव स्थित रहती है और अपनी इच्छा से काम करती है। थियेज में, [[प्लेटो]] को उत्तरदायी ठहराते हुए, [[सुकरात]] ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी ध्वनि है, जब यह स्वयं को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।{{citation needed|date=January 2020}}
पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक डेमन एक ऐसी कुछ है जो अभी तक दिखाई नहीं देती है और सदैव स्थित रहती है और अपनी इच्छा से काम करती है। थियेज में, [[प्लेटो]] को उत्तरदायी ठहराते हुए, [[सुकरात]] ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी ध्वनि है, जब यह स्वयं को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।{{citation needed|date=January 2020}}


आधुनिक उपयोग में, डेमन शब्द का उच्चारण किया जाता है {{IPAc-en|ˈ|d|iː|m|ən}} {{respell|DEE|mən}}. कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण {{IPAc-en|ˈ|d|iː|m|ən}} की ओर चला गया है {{IPAc-en|ˈ|d|eɪ|m|ən}} {{respell|DAY|mən}} कुछ वक्ताओं के लिए।<ref name="jargon" />
आधुनिक प्रयोग में, डेमन शब्द का उच्चारण {{IPAc-en|ˈ|d|iː|m|ən}} {{respell|DEE|mən}} किया जाता है। कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण {{IPAc-en|ˈ|d|iː|m|ən}} कुछ वक्ताओं के लिए {{IPAc-en|ˈ|d|eɪ|m|ən}} {{respell|DAY|mən}} हो गया है।<ref name="jargon" />


डेमॉन के लिए वैकल्पिक शब्द [[विंडोज़ सेवा]] (विंडोज में उपयोग किया जाता है, विंडोज एनटी के बाद से, और बाद में लिनक्स में भी), स्टार्टेड टास्क (आईबीएम जेड/ओएस),<ref>{{cite web|url=https://www.ibm.com/docs/en/zos-basic-skills?topic=glossary-zos-terms-abbreviations|title=Glossary of z/OS terms and abbreviations|website=IBM Documentation|date=31 January 2006 |publisher=[[IBM]]}}</ref> और घोस्ट जॉब (एक्सडीएस [[यूनिवर्सल टाइम-शेयरिंग सिस्टम|यूनिवर्सल टाइम-शेयरिंग तंत्र]])
डेमन के लिए वैकल्पिक शब्द [[विंडोज़ सेवा]] (विंडोज में उपयोग किया जाता है, विंडोज एनटी से और बाद में लिनक्स में भी), स्टार्टेड टास्क (आईबीएम जेड/ओएस),<ref>{{cite web|url=https://www.ibm.com/docs/en/zos-basic-skills?topic=glossary-zos-terms-abbreviations|title=Glossary of z/OS terms and abbreviations|website=IBM Documentation|date=31 January 2006 |publisher=[[IBM]]}}</ref> और घोस्ट जॉब (एक्सडीएस [[यूनिवर्सल टाइम-शेयरिंग सिस्टम|यूनिवर्सल टाइम-शेयरिंग तंत्र]]) हैं।


कंप्यूटर उपयोग के लिए शब्द को अपनाने के बाद, इसे डिस्क और निष्पादन मॉनिटर के लिए एक [[संक्षिप्त नाम]] के रूप में युक्तिसंगत बनाया गया था।<ref>{{cite web|url=http://www.linfo.org/daemon.html|title=डेमन परिभाषा|website=www.linfo.org}}</ref>
कंप्यूटर उपयोग के लिए शब्द को अपनाने के बाद, इसे डिस्क और निष्पादन मॉनिटर के लिए एक [[संक्षिप्त नाम]] के रूप में युक्तिसंगत बनाया गया था।<ref>{{cite web|url=http://www.linfo.org/daemon.html|title=डेमन परिभाषा|website=www.linfo.org}}</ref>
कंप्यूटर नेटवर्क से जुड़ने वाले डेमॉन [[नेटवर्क सेवा]]ओं के उदाहरण हैं।
 
कंप्यूटर नेटवर्क से जुड़ने वाले डेमन [[नेटवर्क सेवा|नेटवर्क सेवाओं]] के उदाहरण हैं।


== कार्यान्वयन ==
== कार्यान्वयन ==


=== यूनिक्स जैसी प्रणाली ===
=== यूनिक्स जैसी प्रणाली ===
कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।
वस्तुतः तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रक सीमांत नहीं होता है। यद्यपि , अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।


एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से प्रारंभ किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर|तंत्रस्टार्टर]] स्क्रिप्ट में शामिल है:
एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से प्रारंभ किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर|तंत्रस्टार्टर]] स्क्रिप्ट में शामिल है:
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* [[ कांटा (सिस्टम कॉल) | दिशाखित (तंत्र कॉल)]] और एग्जिट (तंत्र कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)|परोक्ष (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* [[ कांटा (सिस्टम कॉल) | दिशाखित (तंत्र कॉल)]] और एग्जिट (तंत्र कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)|परोक्ष (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, <code>setsid()</code>:
* आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, <code>setsid()</code>:
** नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
** नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
Line 41: Line 42:
* [[फाइल डिस्क्रिप्टर]] 0, 1 और 2 को मानक स्ट्रीम ([[stdin]], [[stdout]] और s[[tderr]]) के लिए पुनर्निर्देशित करना {{mono|/dev/null}} या एक [[कंप्यूटर डेटा लॉगिंग]], और मूल प्रक्रिया से वंशागत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।
* [[फाइल डिस्क्रिप्टर]] 0, 1 और 2 को मानक स्ट्रीम ([[stdin]], [[stdout]] और s[[tderr]]) के लिए पुनर्निर्देशित करना {{mono|/dev/null}} या एक [[कंप्यूटर डेटा लॉगिंग]], और मूल प्रक्रिया से वंशागत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।


यदि प्रक्रिया [[ सुपर सर्वर |सुपर सर्वर]] डेमन द्वारा प्रारंभ की जाती है, जैसे कि {{mono|[[inetd]]}}, {{mono|[[launchd]]}}, या {{mono|[[systemd]]}}, सुपर-सर्वर डेमॉन प्रक्रिया के लिए उन कार्यों को करेगा,<ref name=inetd>{{man|8|inetd|FreeBSD}}</ref><ref>{{man|5|launchd.plist|Darwin}}</ref><ref name=systemd_service>{{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html|publisher=freedesktop.org|access-date=August 25, 2012}</ref> पुरानी शैली के डेमॉन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है {{mono|systemd}} और के रूप में निर्दिष्ट {{mono|Type{{=}}forking}}<ref name=systemd_service/>और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत {{mono|inetd}}.<ref name=inetd/>
यदि प्रक्रिया [[ सुपर सर्वर |सुपर सर्वर]] डेमन द्वारा प्रारंभ की जाती है, जैसे कि {{mono|[[inetd]]}}, {{mono|[[launchd]]}}, या {{mono|[[systemd]]}}, सुपर-सर्वर डेमन प्रक्रिया के लिए उन कार्यों को करेगा,<ref name=inetd>{{man|8|inetd|FreeBSD}}</ref><ref>{{man|5|launchd.plist|Darwin}}</ref><ref name=systemd_service>{{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html|publisher=freedesktop.org|access-date=August 25, 2012}</ref> पुरानी शैली के डेमन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है {{mono|systemd}} और के रूप में निर्दिष्ट {{mono|Type{{=}}forking}}<ref name=systemd_service/>और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत {{mono|inetd}}.<ref name=inetd/>




=== एमएस-डॉस ===
=== एमएस-डॉस ===
[[DOS]] वातावरण में, डेमॉन-जैसे प्रोग्राम [[टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम]] (TSR) के रूप में लागू किए गए थे।
[[DOS]] वातावरण में, डेमन-जैसे प्रोग्राम [[टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम]] (TSR) के रूप में लागू किए गए थे।


=== विंडोज एनटी ===
=== विंडोज एनटी ===
[[माइक्रोसॉफ्ट विंडोज एनटी]] तंत्र पर, विंडोज सर्विसेज नामक प्रोग्राम डेमॉन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। [[विंडोज 2000]] और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से [[ नियंत्रण कक्ष (विंडोज़) |नियंत्रण कक्ष (विंडोज़)]] , एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, [[ सेवा नियंत्रण प्रबंधक |सेवा नियंत्रण प्रबंधक]] के सर्विस कंट्रोलर घटक का उपयोग करके प्रारंभ और बंद कर दिया गया है ({{mono|sc}} कमांड), द {{mono|net start}} और {{mono|net stop}} आदेश या [[PowerShell]] स्क्रिप्टिंग तंत्र।
[[माइक्रोसॉफ्ट विंडोज एनटी]] तंत्र पर, विंडोज सर्विसेज नामक प्रोग्राम डेमन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। [[विंडोज 2000]] और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से [[ नियंत्रण कक्ष (विंडोज़) |नियंत्रण कक्ष (विंडोज़)]] , एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, [[ सेवा नियंत्रण प्रबंधक |सेवा नियंत्रण प्रबंधक]] के सर्विस कंट्रोलर घटक का उपयोग करके प्रारंभ और बंद कर दिया गया है ({{mono|sc}} कमांड), द {{mono|net start}} और {{mono|net stop}} आदेश या [[PowerShell]] स्क्रिप्टिंग तंत्र।


हालाँकि, कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमॉन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमॉन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।
यद्यपि , कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।


=== क्लासिक [[मैक ओएस]] और macOS ===
=== क्लासिक [[मैक ओएस]] और macOS ===
[[क्लासिक मैक ओएस]] पर, प्रचालन तंत्र को पैच करने वाले स्टार्टअप समय पर लोड की गई फ़ाइलों द्वारा वैकल्पिक सुविधाएँ और सेवाएँ प्रदान की गईं; इन्हें [[एक्सटेंशन (मैक ओएस)]] और [[ नियंत्रण कक्ष (मैक ओएस) |नियंत्रण कक्ष (मैक ओएस)]] के रूप में जाना जाता था। क्लासिक मैक ओएस के बाद के संस्करणों ने इन्हें पूर्ण रूप से विकसित एक्सटेंशन (मैक ओएस) # फेसलेस परोक्ष अनुप्रयोगों के साथ संवर्धित किया: परोक्ष में चलने वाले नियमित अनुप्रयोग। उपयोगकर्ता के लिए, इन्हें अभी भी नियमित तंत्र एक्सटेंशन के रूप में वर्णित किया गया था।
[[क्लासिक मैक ओएस]] पर, प्रचालन तंत्र को पैच करने वाले स्टार्टअप समय पर लोड की गई फ़ाइलों द्वारा वैकल्पिक सुविधाएँ और सेवाएँ प्रदान की गईं; इन्हें [[एक्सटेंशन (मैक ओएस)]] और [[ नियंत्रण कक्ष (मैक ओएस) |नियंत्रण कक्ष (मैक ओएस)]] के रूप में जाना जाता था। क्लासिक मैक ओएस के बाद के संस्करणों ने इन्हें पूर्ण रूप से विकसित एक्सटेंशन (मैक ओएस) # फेसलेस परोक्ष अनुप्रयोगों के साथ संवर्धित किया: परोक्ष में चलने वाले नियमित अनुप्रयोग। उपयोगकर्ता के लिए, इन्हें अभी भी नियमित तंत्र एक्सटेंशन के रूप में वर्णित किया गया था।


macOS, जो एक यूनिक्स तंत्र है, डेमॉन का उपयोग करता है, परन्तु सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमॉन के लिए उस शब्द का उपयोग करने के अतिरिक्त , जैसा कि विंडोज करता है।
macOS, जो एक यूनिक्स तंत्र है, डेमन का उपयोग करता है, परन्तु सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमन के लिए उस शब्द का उपयोग करने के अतिरिक्त , जैसा कि विंडोज करता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 23:42, 21 May 2023

कुछ लिनक्स डेस्कटॉप वातावरण के घटक जो डेमन हैं, उनमें डी-बस, नेटवर्क प्रबंधक (यहां अननेटवर्क कहा जाता है), पल्सऑडियो (यूसाउंड) और अवही (सॉफ्टवेयर) शामिल हैं।

मल्टीटास्किंग कंप्यूटर प्रचालन तंत्र में, एक डेमन (/ˈdmən/ या /ˈdmən/)[1] एक कंप्यूटर प्रोग्राम है जो एक अन्योन्यक्रिया उपयोगकर्ता के सीधे नियंत्रण में होने के अतिरिक्त परोक्ष प्रक्रम के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वस्तुतः एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए है। उदाहरण के लिए, syslogd एक डेमन है जो तंत्र प्रचालेख सुविधा को लागू करता है, और sshd एक डेमन है जो आगामी सुरक्षित आवरण सम्बन्धों की सेवा करता है।

एक यूनिक्स वातावरण में, डेमन की मूल प्रक्रिया प्रायः, परन्तु सदैव नहीं, इनिट प्रक्रिया होती है। एक डेमन सामान्यतः या तो एक प्रक्रम दिशाखित (प्रचालन तंत्र) द्वारा एक चाइल्ड प्रक्रम द्वारा बनाया जाता है और फिर तुरंत बाहर निकल जाता है, जिससे इनिट चाइल्ड प्रक्रम को अपनाने का कारण बनता है, या इनिट प्रक्रम द्वारा सीधे डेमन को प्रमोचन किया जाता है। इसके अतिरिक्त , दिशाखित और एक्साइटिंग द्वारा प्रमोचन किए गए एक डेमन को सामान्यतः अन्य प्रचालन करने चाहिए, जैसे कि किसी भी नियंत्रक टीटीवाई (यूनिक्स) से प्रक्रिया को अलग करना। इस प्रकार की प्रक्रियाओं को प्रायः यूनिक्स में डेमन (3) जैसे विभिन्न सुविधा परिच्छेदनों में लागू किया जाता है।

तंत्र प्रायः बूटिंग के समय डेमन प्रारंभ करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ टास्क करके प्रतिक्रिया देगा। क्रॉन जैसे डेमन भी निर्धारित समय पर परिभाषित टास्क कर सकते हैं।

शब्दावली

यह शब्द एमआईटी के प्रोजेक्ट मैक के प्रोग्रामरों द्वारा गढ़ा गया था। फर्नांडो जे. कॉर्बेटो के अनुसार, जिन्होंने 1963 में प्रोजेक्ट मैक पर काम किया था, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के डेमन से प्रेरित थी, जो भौतिकी और ऊष्मप्रवैगिकी में एक काल्पनिक एजेंट था, एक काल्पनिक एजेंट था, जिसने अणुओं को छांटने में सहायता की, यह कहते हुए, "हमने काल्पनिक रूप से प्रारम्भ के परोक्ष प्रक्रम का वर्णन करने के लिए जो तंत्र के काम करने के लिए अथक रूप से करता है"।[2] यूनिक्स तंत्र ने इस शब्दावली को वंशागत में मिला है। मैक्सवेल का डेमन परोक्ष में काम कर रहे एक अलौकिक प्राणी के रूप में एक डेमन (पौराणिक कथा) की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।

सामान्य अर्थ में, ग्रीक भाषा δαίμων से डेमन शब्द डेमन का एक प्राचीन रूप है। यूनिक्स तंत्र प्रशासन पुस्तिका में एवी नेमेथ डेमन के विषय में निम्नलिखित बताता है:[3]

बहुत से लोग "डेमन" शब्द की तुलना "डेमन" शब्द से करते हैं, जिसका अर्थ यूनिक्स और अधोलोक के बीच किसी प्रकार का दैत्य संबंध है। यह एक बहुत बड़ी गलतफहमी है। "डेमन" वस्तुतः "दैत्य" का बहुत प्राचीन रूप है; दैत्य के निकट शुभ या अमंगल के प्रति कोई विशेष पूर्वाग्रह नहीं है, बल्कि यह किसी व्यक्ति के चरित्र या व्यक्तित्व को परिभाषित करने में सहायता करता है। प्राचीन यूनानी' एक "व्यक्तिगत डेमन" की अवधारणा एक "अभिभावक देवदूत" की आधुनिक अवधारणा के समान थी-यूडेमोनिया एक दयालु भावना द्वारा सहायता या संरक्षित होने की स्थिति है। एक नियम के रूप में, यूनिक्स प्रणालियाँ डेमों और डेमन दोनों से प्रभावित प्रतीत होती हैं।

पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक डेमन एक ऐसी कुछ है जो अभी तक दिखाई नहीं देती है और सदैव स्थित रहती है और अपनी इच्छा से काम करती है। थियेज में, प्लेटो को उत्तरदायी ठहराते हुए, सुकरात ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी ध्वनि है, जब यह स्वयं को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।[citation needed]

आधुनिक प्रयोग में, डेमन शब्द का उच्चारण /ˈdmən/ DEE-mən किया जाता है। कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण /ˈdmən/ कुछ वक्ताओं के लिए /ˈdmən/ DAY-mən हो गया है।[1]

डेमन के लिए वैकल्पिक शब्द विंडोज़ सेवा (विंडोज में उपयोग किया जाता है, विंडोज एनटी से और बाद में लिनक्स में भी), स्टार्टेड टास्क (आईबीएम जेड/ओएस),[4] और घोस्ट जॉब (एक्सडीएस यूनिवर्सल टाइम-शेयरिंग तंत्र) हैं।

कंप्यूटर उपयोग के लिए शब्द को अपनाने के बाद, इसे डिस्क और निष्पादन मॉनिटर के लिए एक संक्षिप्त नाम के रूप में युक्तिसंगत बनाया गया था।[5]

कंप्यूटर नेटवर्क से जुड़ने वाले डेमन नेटवर्क सेवाओं के उदाहरण हैं।

कार्यान्वयन

यूनिक्स जैसी प्रणाली

वस्तुतः तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रक सीमांत नहीं होता है। यद्यपि , अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।

एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमन बनने की सामान्य विधि, जब प्रक्रिया को कमांड लाइन से या स्टार्टअप स्क्रिप्ट से प्रारंभ किया जाता है जैसे कि एक इनिट स्क्रिप्ट या तंत्रस्टार्टर स्क्रिप्ट में शामिल है:

  • वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
  • दिशाखित (तंत्र कॉल) और एग्जिट (तंत्र कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा परोक्ष (कंप्यूटर सॉफ्टवेयर) के रूप में निष्पादित करना। यह डेमन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
  • आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, setsid():
    • नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
    • एक नया सत्र बनाना और उस सत्र का सत्र नेता बनना।
    • एक प्रक्रिया समूह नेता बनना।
  • यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण टीटीवाई प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण टीटीवाई के एक सत्र नेता एक मुक्त टीटीवाई आवरणता है), यह फिर से दिशाखित और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक टीटीवाई हासिल नहीं कर सकता है।
  • मूल निर्देशिका सेट करना (/) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो माउंट (कंप्यूटिंग) फ़ाइल तंत्र पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
  • अनुमति देने के लिए उमास्क को 0 में बदलना open(), creat(), और अन्य प्रचालन तंत्र अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
  • फाइल डिस्क्रिप्टर 0, 1 और 2 को मानक स्ट्रीम (stdin, stdout और stderr) के लिए पुनर्निर्देशित करना /dev/null या एक कंप्यूटर डेटा लॉगिंग, और मूल प्रक्रिया से वंशागत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।

यदि प्रक्रिया सुपर सर्वर डेमन द्वारा प्रारंभ की जाती है, जैसे कि inetd, launchd, या systemd, सुपर-सर्वर डेमन प्रक्रिया के लिए उन कार्यों को करेगा,[6][7][8] पुरानी शैली के डेमन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है systemd और के रूप में निर्दिष्ट Type=forking[8]और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत inetd.[6]


एमएस-डॉस

DOS वातावरण में, डेमन-जैसे प्रोग्राम टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम (TSR) के रूप में लागू किए गए थे।

विंडोज एनटी

माइक्रोसॉफ्ट विंडोज एनटी तंत्र पर, विंडोज सर्विसेज नामक प्रोग्राम डेमन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। विंडोज 2000 और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से नियंत्रण कक्ष (विंडोज़) , एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, सेवा नियंत्रण प्रबंधक के सर्विस कंट्रोलर घटक का उपयोग करके प्रारंभ और बंद कर दिया गया है (sc कमांड), द net start और net stop आदेश या PowerShell स्क्रिप्टिंग तंत्र।

यद्यपि , कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।

क्लासिक मैक ओएस और macOS

क्लासिक मैक ओएस पर, प्रचालन तंत्र को पैच करने वाले स्टार्टअप समय पर लोड की गई फ़ाइलों द्वारा वैकल्पिक सुविधाएँ और सेवाएँ प्रदान की गईं; इन्हें एक्सटेंशन (मैक ओएस) और नियंत्रण कक्ष (मैक ओएस) के रूप में जाना जाता था। क्लासिक मैक ओएस के बाद के संस्करणों ने इन्हें पूर्ण रूप से विकसित एक्सटेंशन (मैक ओएस) # फेसलेस परोक्ष अनुप्रयोगों के साथ संवर्धित किया: परोक्ष में चलने वाले नियमित अनुप्रयोग। उपयोगकर्ता के लिए, इन्हें अभी भी नियमित तंत्र एक्सटेंशन के रूप में वर्णित किया गया था।

macOS, जो एक यूनिक्स तंत्र है, डेमन का उपयोग करता है, परन्तु सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमन के लिए उस शब्द का उपयोग करने के अतिरिक्त , जैसा कि विंडोज करता है।

यह भी देखें

संदर्भ

  1. 1.0 1.1 Eric S. Raymond. "daemon". The Jargon File. Retrieved 2008-10-22.
  2. "डेमन शब्द की उत्पत्ति".
  3. "बीएसडी डेमन". Freebsd.org. Retrieved 2008-11-15.
  4. "Glossary of z/OS terms and abbreviations". IBM Documentation. IBM. 31 January 2006.
  5. "डेमन परिभाषा". www.linfo.org.
  6. 6.0 6.1 inetd(8) – FreeBSD System Manager's Manual
  7. launchd.plist(5) – Darwin and macOS File Formats Manual
  8. 8.0 8.1 {{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html%7Cpublisher=freedesktop.org%7Caccess-date=August 25, 2012}


बाहरी संबंध