रिसोर्स लीक: Difference between revisions

From Vigyanwiki
No edit summary
Line 1: Line 1:
{{Short description|When a computer program does not release resources it has acquired}}
{{Short description|When a computer program does not release resources it has acquired}}
[[कंप्यूटर विज्ञान]] में, एक [[कंप्यूटर प्रोग्राम]] द्वारा रिसोर्स लीक एक विशेष प्रकार की रिसोर्स खपत है, जहां प्रोग्राम संगृहीत संसाधनों को जारी नहीं करता है। यह स्थिति सामान्य रूप से किसी प्रोग्राम में बग का परिणाम होती है। विशिष्ट संसाधन लीक में [[मेमोरी लीक]] और [[हैंडल लीक|नियंत्रण लीक]] सम्मिलित हैं, विशेष रूप से फाइल हैंडल लीक, हालांकि मेमोरी को अक्सर अन्य संसाधनों से अलग माना जाता है।<ref>{{citation
[[कंप्यूटर विज्ञान]] में, एक [[कंप्यूटर प्रोग्राम]] द्वारा रिसोर्स लीक एक विशेष प्रकार की रिसोर्स खपत है, जहां प्रोग्राम संगृहीत संसाधनों को जारी नहीं करता है। यह स्थिति सामान्य रूप से किसी प्रोग्राम में बग (प्रोग्राम में त्रुटि) का परिणाम होती है। विशिष्ट संसाधन लीक में [[मेमोरी लीक]] और [[हैंडल लीक|नियंत्रण लीक]] सम्मिलित हैं, विशेष रूप से फाइल हैंडल लीक, हालांकि मेमोरी को अक्सर अन्य संसाधनों से अलग माना जाता है।<ref>{{citation
  | last1 = Deitel | first1 = Harvey M.
  | last1 = Deitel | first1 = Harvey M.
  | last2 = Deitel | first2 = Paul J.
  | last2 = Deitel | first2 = Paul J.
Line 33: Line 33:
संसाधनों का रिसाव विशेष रूप से बहुत कम मात्रा में उपलब्ध संसाधनों के लिए एक समस्या है। एक अद्वितीय संसाधन, जैसे अवरोध, का लीक करना विशेष रूप से गंभीर है, क्योंकि यह तत्काल संसाधन अप्राप्ति का कारण बनता है (यह अन्य प्रक्रियाओं को इसे प्राप्त करने से रोकता है) और [[गतिरोध|रुकावट]] का कारण बनता है। अभिप्रायपूर्वक लीक करने वाले संसाधनों का उपयोग डिनायल-ऑफ़-सर्विस हमले में किया जा सकता है, जैसे कि [[कांटा बम|फोर्क बम]], और इस प्रकार संसाधन लीक एक [[सुरक्षा बग]] का परिचय देते हैं।
संसाधनों का रिसाव विशेष रूप से बहुत कम मात्रा में उपलब्ध संसाधनों के लिए एक समस्या है। एक अद्वितीय संसाधन, जैसे अवरोध, का लीक करना विशेष रूप से गंभीर है, क्योंकि यह तत्काल संसाधन अप्राप्ति का कारण बनता है (यह अन्य प्रक्रियाओं को इसे प्राप्त करने से रोकता है) और [[गतिरोध|रुकावट]] का कारण बनता है। अभिप्रायपूर्वक लीक करने वाले संसाधनों का उपयोग डिनायल-ऑफ़-सर्विस हमले में किया जा सकता है, जैसे कि [[कांटा बम|फोर्क बम]], और इस प्रकार संसाधन लीक एक [[सुरक्षा बग]] का परिचय देते हैं।


== कारण ==
== कार्य ==
संसाधनों का रिसाव आम तौर पर प्रोग्रामिंग त्रुटियों के कारण होता है: अधिग्रहीत संसाधनों को जारी किया जाना चाहिए, लेकिन चूंकि रिलीज अक्सर अधिग्रहण के बाद काफी हद तक होता है, और इस दौरान कई चीजें हो सकती हैं (उदाहरण के लिए, एक अपवाद फेंका जाना या असामान्य कार्यक्रम समाप्ति) यह आसान है छूटने के लिए।
संसाधन रिसाव सामान्यतः प्रोग्रामिंग त्रुटियों के कारण होता है: संगृहीत संसाधनों को जारी किया जाना चाहिए, लेकिन चूंकि प्रकाशन अक्सर संकलन के बाद बड़े पैमाने पर  होता है, और इस दौरान कई चीजें हो सकती हैं (उदाहरण के लिए, एक अपवाद जा रहा है या असामान्य प्रोग्राम का समापन ) जिससे प्रकाशन को याद करना आसान हो जाता है।


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

Revision as of 08:46, 26 February 2023

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

कार्य

संसाधन रिसाव सामान्यतः प्रोग्रामिंग त्रुटियों के कारण होता है: संगृहीत संसाधनों को जारी किया जाना चाहिए, लेकिन चूंकि प्रकाशन अक्सर संकलन के बाद बड़े पैमाने पर होता है, और इस दौरान कई चीजें हो सकती हैं (उदाहरण के लिए, एक अपवाद जा रहा है या असामान्य प्रोग्राम का समापन ) जिससे प्रकाशन को याद करना आसान हो जाता है।

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

रोकथाम और शमन

संसाधन प्रबंधन (कंप्यूटिंग) द्वारा संसाधनों के रिसाव को रोका जा सकता है या ठीक किया जा सकता है: प्रोग्रामिंग तकनीकें या भाषा निर्माण संसाधनों को तुरंत जारी करके रिसाव को रोक सकते हैं, जबकि एक अलग प्रक्रिया लीक हुए संसाधनों को पुनः प्राप्त कर सकती है। प्रक्रिया के समाप्त होने और एक बनाने के बाद ऑपरेटिंग सिस्टम द्वारा रिसोर्स रिक्लेमेशन द्वारा कई रिसोर्स लीक को ठीक किया जाता है exit सिस्टम कॉल

संसाधन रिसाव इस प्रकार मुख्य रूप से लंबे समय तक चलने वाली प्रक्रियाओं के लिए एक समस्या है, क्योंकि अभी भी चल रही प्रक्रियाओं द्वारा लीक किए गए संसाधनों को अक्सर पुनः प्राप्त नहीं किया जाता है; और उन प्रक्रियाओं के लिए जो बहुत से संसाधनों को तेजी से प्राप्त और लीक करती हैं।

यह भी देखें

संदर्भ

  1. Deitel, Harvey M.; Deitel, Paul J. (2005), C# for Programmers (2nd ed.), Prentice Hall Professional, p. 443, ISBN 9780132465915.
  2. Russinovich, Mark; Solomon, David; Ionescu, Alex (2012), Windows Internals, Part 1 (6th ed.), Pearson Education, p. 279, ISBN 9780735671300.
  3. Gregory, Kate (1998), Using Visual C++ 6, Que Publishing, p. 590, ISBN 9780789715395.