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

From Vigyanwiki
No edit summary
 
(9 intermediate revisions by 3 users not shown)
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 9: Line 9:
  | title = C# for Programmers
  | title = C# for Programmers
  | url = https://books.google.com/books?id=euV7e2f-RzsC&pg=PA443
  | url = https://books.google.com/books?id=euV7e2f-RzsC&pg=PA443
  | year = 2005}}.</ref>
  | year = 2005}}.</ref>                                                            
[[ऑपरेटिंग सिस्टम|प्रचालन प्रणाली]] में उपलब्ध संसाधनों की सीमित संख्या के उदाहरणों में [[इंटरनेट सॉकेट]], [[फ़ाइल संभाल|फ़ाइल नियंत्रण]], [[प्रक्रिया तालिका प्रविष्टियाँ]] और [[प्रक्रिया पहचानकर्ता]] (PIDs) सम्मिलित हैं। संसाधन रिसाव अक्सर एक लघु समस्या होती है, जिसके कारण समाप्ति के बाद से अधिकांश लघु मंदी और प्रक्रियाओं को पुनर्प्राप्त किया जा रहा है। अन्य स्थितियों में संसाधन रिसाव एक बड़ी समस्या हो सकती है, जिससे [[संसाधन भुखमरी|संसाधन अप्राप्ति]] और सख़्त प्रणाली मंदी या अस्थिरता , रिसाव प्रक्रियाएं , अन्य प्रक्रियाएं , या यहां तक ​​कि प्रणाली क्रैश भी हो सकती है।<ref>{{citation
[[ऑपरेटिंग सिस्टम|प्रचालन प्रणाली]] में उपलब्ध संसाधनों की सीमित संख्या के उदाहरणों में [[इंटरनेट सॉकेट]], [[फ़ाइल संभाल|फ़ाइल नियंत्रण]], [[प्रक्रिया तालिका प्रविष्टियाँ]] और [[प्रक्रिया पहचानकर्ता]] (PIDs) सम्मिलित हैं। संसाधन लीक अक्सर एक लघु समस्या होती है, जिसके कारण समाप्ति के बाद से अधिकांश लघु मंदी और प्रक्रियाओं को पुनर्प्राप्त किया जा रहा है। अन्य स्थितियों में संसाधन लीक एक बड़ी समस्या हो सकती है, जिससे [[संसाधन भुखमरी|संसाधन अप्राप्ति]] और सख़्त प्रणाली मंदी या अस्थिरता , लीक प्रक्रियाएं , अन्य प्रक्रियाएं , या यहां तक ​​कि प्रणाली क्रैश भी हो सकती है।<ref>{{citation
  | last1 = Russinovich | first1 = Mark
  | last1 = Russinovich | first1 = Mark
  | last2 = Solomon | first2 = David
  | last2 = Solomon | first2 = David
Line 20: Line 20:
  | title = Windows Internals, Part 1
  | title = Windows Internals, Part 1
  | url = https://books.google.com/books?id=w65CAwAAQBAJ&pg=PT279
  | url = https://books.google.com/books?id=w65CAwAAQBAJ&pg=PT279
  | year = 2012}}.</ref> संसाधन रिसाव अक्सर हल्के भार और अपूर्ण रनटाइम के तहत किसी का ध्यान नहीं जाता है, और ये समस्याएं केवल मन्द प्रणाली भार या दीर्घकाल तक चलने वाले प्रणाली के तहत दिखाई देते हैं।<ref>{{citation
  | year = 2012}}.</ref> संसाधन लीक अक्सर हल्के भार और अपूर्ण रनटाइम के तहत किसी का ध्यान नहीं जाता है, और ये समस्याएं केवल मन्द प्रणाली भार या दीर्घकाल तक चलने वाली प्रणाली के तहत दिखाई देती हैं।<ref>{{citation
  | last = Gregory
  | last = Gregory
  | first = Kate
  | first = Kate
Line 30: Line 30:
  | url-access = registration
  | url-access = registration
  | url = https://archive.org/details/usingvisualc600greg/page/590
  | url = https://archive.org/details/usingvisualc600greg/page/590
  }}.</ref>                                                                                                        
  }}.</ref>                                                                                                          
संसाधनों का रिसाव विशेष रूप से बहुत कम मात्रा में उपलब्ध संसाधनों के लिए एक समस्या है। एक अद्वितीय संसाधन, जैसे अवरोध, का लीक करना विशेष रूप से गंभीर है, क्योंकि यह तत्काल संसाधन अप्राप्ति का कारण बनता है (यह अन्य प्रक्रियाओं को इसे प्राप्त करने से रोकता है) और [[गतिरोध|रुकावट]] का कारण बनता है। अभिप्रायपूर्वक लीक करने वाले संसाधनों का उपयोग डिनायल-ऑफ़-सर्विस हमले में किया जा सकता है, जैसे कि [[कांटा बम|फोर्क बम]], और इस प्रकार संसाधन लीक एक [[सुरक्षा बग]] का परिचय देते हैं।
संसाधनों का लीक होना, विशेष रूप से बहुत कम मात्रा में उपलब्ध संसाधनों के लिए एक समस्या है। एक अद्वितीय संसाधन, जैसे अवरोध, का लीक करना विशेष रूप से गंभीर है, क्योंकि यह तत्काल संसाधन अप्राप्ति का कारण बनता है (यह अन्य प्रक्रियाओं को इसे प्राप्त करने से रोकता है) और [[गतिरोध|रुकावट]] का कारण बनता है। अभिप्रायपूर्वक लीक करने वाले संसाधनों का उपयोग डिनायल-ऑफ़-सर्विस हमले में किया जा सकता है, जैसे कि [[कांटा बम|फोर्क बम]], और इस प्रकार संसाधन लीक एक [[सुरक्षा बग]] का परिचय देते हैं।


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


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


== रोकथाम और शमन ==
== निवारण और न्यूनीकरण ==
[[संसाधन प्रबंधन (कंप्यूटिंग)]] द्वारा संसाधनों के रिसाव को रोका जा सकता है या ठीक किया जा सकता है: प्रोग्रामिंग तकनीकें या भाषा निर्माण संसाधनों को तुरंत जारी करके रिसाव को रोक सकते हैं, जबकि एक अलग प्रक्रिया लीक हुए संसाधनों को पुनः प्राप्त कर सकती है। प्रक्रिया के समाप्त होने और एक बनाने के बाद ऑपरेटिंग सिस्टम द्वारा रिसोर्स रिक्लेमेशन द्वारा कई रिसोर्स लीक को ठीक किया जाता है <code>[[exit (system call)|exit]]</code> [[सिस्टम कॉल]]।
[[संसाधन प्रबंधन (कंप्यूटिंग)|संसाधन प्रबंधन]] द्वारा संसाधन लीक को रोका या ठीक किया जा सकता है: प्रोग्रामिंग तकनीक या भाषा निर्माण संसाधनों को तुरंत जारी करके लीक को रोक सकते हैं, जबकि एक अलग प्रक्रिया लीक हुए संसाधनों को पुनः प्राप्त कर सकती है। प्रक्रिया समाप्त होने और प्रणाली से बाहर निकलने के लिए संकेत करने के बाद प्रचालन प्रणाली द्वारा संसाधन सुधार द्वारा कई संसाधन लीक को ठीक किया जाता है।


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


== यह भी देखें ==
== यह भी देखें ==
* संसाधन भुखमरी
* [[संसाधन अप्राप्ति]]
* [[सॉफ्टवेयर उम्र बढ़ने]]
* [[सॉफ्टवेयर उम्र बढ़ने|सॉफ्टवेयर पुराना हो जाना]]


==संदर्भ==
==संदर्भ==
{{reflist}}
{{reflist}}
[[Category: कम्प्यूटेशनल संसाधन]]


[[Category: Machine Translated Page]]
[[Category:Created On 19/02/2023]]
[[Category:Created On 19/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:कम्प्यूटेशनल संसाधन]]

Latest revision as of 17:22, 3 March 2023

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

कारण

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

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

निवारण और न्यूनीकरण

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

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

यह भी देखें

संदर्भ

  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.