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

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


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


== शब्दावली ==
== शब्दावली ==
यह शब्द प्रोजेक्ट मैक | एमआईटी के प्रोजेक्ट मैक के प्रोग्रामर्स द्वारा गढ़ा गया था। 1963 में MIT कंप्यूटर साइंस एंड आर्टिफिशियल इंटेलिजेंस लेबोरेटरी#प्रोजेक्ट MAC पर काम करने वाले फर्नांडो जे. कॉर्बेटो के अनुसार, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के दानव से प्रेरित थी, जो भौतिकी और [[ऊष्मप्रवैगिकी]] में एक काल्पनिक एजेंट था जिसने छँटाई करने में मदद की अणु, बताते हुए, हमने काल्पनिक रूप से डेमन शब्द का उपयोग उन परोक्ष प्रक्रमओं का वर्णन करने के लिए करना शुरू किया जो सिस्टम के काम करने के लिए अथक रूप से काम करती हैं।<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|
Many people equate the word "daemon" with the word "demon", implying some kind of [[satanism|satanic]] connection between UNIX and the [[underworld]]. This is an egregious misunderstanding. "Daemon" is actually a much older form of "demon"; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The [[Ancient Greece|ancient Greeks]]' concept of a "personal daemon" was similar to the modern concept of a "guardian angel"''eudaemonia'' is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.}}
बहुत से लोग "डेमन" शब्द की तुलना "डेमन" शब्द से करते हैं, जिसका अर्थ यूनिक्स और [[अधोलोक]] के बीच किसी प्रकार का [[ दैत्यवत|दैत्य]] संबंध है। यह एक बहुत बड़ी गलतफहमी है। "डेमन" वस्तुतः  "दैत्य" का बहुत प्राचीन रूप है; दैत्य के निकट शुभ या अमंगल के प्रति कोई विशेष पूर्वाग्रह नहीं है, बल्कि यह किसी व्यक्ति के चरित्र या व्यक्तित्व को परिभाषित करने में सहायता करता है। [[प्राचीन यूनान|प्राचीन यूनानी]]' एक "व्यक्तिगत डेमन" की अवधारणा एक "अभिभावक देवदूत" की आधुनिक अवधारणा के समान थी-''यूडेमोनिया'' एक दयालु भावना द्वारा सहायता या संरक्षित होने की स्थिति है। एक नियम के रूप में, यूनिक्स प्रणालियाँ डेमों और डेमन दोनों से प्रभावित प्रतीत होती हैं।}}


पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक दानव एक ऐसी चीज है जो अभी तक दिखाई नहीं देती है और सदैव मौजूद रहती है और अपनी इच्छा से काम करती है। थियेज में, [[प्लेटो]] को जिम्मेदार ठहराते हुए, [[सुकरात]] ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी आवाज है, जब यह खुद को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।{{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>
Line 29: Line 29:
कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।
कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।


एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से शुरू किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर]] स्क्रिप्ट में शामिल है:
एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से प्रारंभ किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर|तंत्रस्टार्टर]] स्क्रिप्ट में शामिल है:
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* [[ कांटा (सिस्टम कॉल) | दिशाखित (सिस्टम कॉल)]] और एग्जिट (सिस्टम कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)|परोक्ष (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* [[ कांटा (सिस्टम कॉल) | दिशाखित (तंत्र कॉल)]] और एग्जिट (तंत्र कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)|परोक्ष (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, <code>setsid()</code>:
* आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, <code>setsid()</code>:
** नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
** नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
Line 37: Line 37:
** एक [[प्रक्रिया समूह]] नेता बनना।
** एक [[प्रक्रिया समूह]] नेता बनना।
* यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण टीटीवाई प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण टीटीवाई के एक सत्र नेता एक मुक्त टीटीवाई आवरणता है), यह फिर से दिशाखित और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक टीटीवाई हासिल नहीं कर सकता है।
* यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण टीटीवाई प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण टीटीवाई के एक सत्र नेता एक मुक्त टीटीवाई आवरणता है), यह फिर से दिशाखित और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक टीटीवाई हासिल नहीं कर सकता है।
* [[ मूल निर्देशिका | मूल निर्देशिका]] सेट करना ({{mono|/}}) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो [[माउंट (कंप्यूटिंग)]] फ़ाइल सिस्टम पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
* [[ मूल निर्देशिका | मूल निर्देशिका]] सेट करना ({{mono|/}}) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो [[माउंट (कंप्यूटिंग)]] फ़ाइल तंत्र पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
* अनुमति देने के लिए [[उमास्क]] को 0 में बदलना <code>open()</code>, <code>creat()</code>, और अन्य प्रचालन तंत्र अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
* अनुमति देने के लिए [[उमास्क]] को 0 में बदलना <code>open()</code>, <code>creat()</code>, और अन्य प्रचालन तंत्र अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
* [[फाइल डिस्क्रिप्टर]] 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/>




Line 48: Line 48:


=== विंडोज एनटी ===
=== विंडोज एनटी ===
[[माइक्रोसॉफ्ट विंडोज एनटी]] सिस्टम पर, विंडोज सर्विसेज नामक प्रोग्राम डेमॉन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। [[विंडोज 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 22:59, 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}


बाहरी संबंध