डेमॉन (कंप्यूटिंग)

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

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

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

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

शब्दावली

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

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

Many people equate the word "daemon" with the word "demon", implying some kind of 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 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]

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

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

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

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

कार्यान्वयन

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

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

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

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

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


एमएस-डॉस

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

विंडोज एनटी

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

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

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

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

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Eric S. Raymond. "डेमन". 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 "systemd.service". freedesktop.org. Retrieved August 25, 2012.


बाहरी संबंध