रिसोर्स लीक

From Vigyanwiki
Revision as of 14:18, 19 February 2023 by alpha>Indicwiki (Created page with "{{Short description|When a computer program does not release resources it has acquired}} कंप्यूटर विज्ञान में, एक संसाध...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

कंप्यूटर विज्ञान में, एक संसाधन रिसाव एक कंप्यूटर प्रोग्राम द्वारा एक विशेष प्रकार की सिस्टम संसाधन खपत है जहां प्रोग्राम अधिग्रहीत संसाधनों को जारी नहीं करता है। यह स्थिति आमतौर पर किसी प्रोग्राम में बग का परिणाम होती है। विशिष्ट संसाधन लीक में स्मृति रिसाव और रिसाव को संभालें शामिल हैं, विशेष रूप से फाइल हैंडल लीक, हालांकि मेमोरी को अक्सर अन्य संसाधनों से अलग माना जाता है।[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.