जब माइक्रोसॉफ्ट वर्ड या एक्सेल जैसा कोई प्रोग्राम "क्रैश" हो जाता है, तो इसका मतलब है कि प्रोग्राम के निष्पादन के दौरान कुछ गंभीर रूप से गलत हो गया है। ऑपरेटिंग सिस्टम अक्सर पहचानता वहाँ एक गंभीर समस्या है कि और एक साफ तरह से हमलावर आवेदन बंद को मारता है। जब यह ऐसा करता है, तो ऑपरेटिंग सिस्टम "घातक अपवाद त्रुटि" की तरह कुछ गुप्त कहेगा (और अक्सर हेक्साडेसिमल संख्याओं का एक बड़ा संग्रह प्रदर्शित करता है जो आपके लिए पूरी तरह से बेकार हैं, उपयोगकर्ता, लेकिन मूल प्रोग्रामर के लिए कुछ काम का हो सकता है)। प्रोग्राम के क्रैश होने का दूसरा तरीका यह है कि इसके साथ ऑपरेटिंग सिस्टम को नीचे ले जाया जाए, जिसका अर्थ है कि आपको रिबूट करना होगा।
भले ही आप गुप्त त्रुटि संदेशों के साथ कुछ नहीं कर सकते हैं, कम से कम यह जानना अच्छा होगा कि उनका क्या मतलब है! तो आइए तीन सबसे आम लोगों के बारे में जानें:
- घातक अपवाद त्रुटि - माइक्रोसॉफ्ट वर्ड जैसा एप्लिकेशन प्रोग्राम कई परतों और घटकों से बना होता है। कोर ऑपरेटिंग सिस्टम, एक ऑपरेटिंग सिस्टम सर्विसेज लेयर, शायद सिस्टम सेवाओं के शीर्ष पर एक इनकैप्सुलेशन लेयर, सैकड़ों सॉफ्टवेयर लाइब्रेरी, आंतरिक फ़ंक्शन/क्लास लाइब्रेरी और डीएलएल, और अंत में मुख्य एप्लिकेशन लेयर है। अधिकांश आधुनिक ऑपरेटिंग सिस्टम और भाषाएं (जैसे C++ , Java , आदि) प्रोग्रामिंग अवधारणाओं का समर्थन करती हैं जिन्हें अपवाद और अपवाद प्रबंधन के रूप में जाना जाता है । अपवाद विभिन्न परतों को समस्याओं को एक दूसरे से संवाद करने की अनुमति देते हैं। उदाहरण के लिए, मान लें कि किसी प्रोग्राम को कुछ मेमोरी की आवश्यकता है, इसलिए यह ऑपरेटिंग सिस्टम को मेमोरी के एक ब्लॉक को आरक्षित करने के लिए कहता है। यदि ऑपरेटिंग सिस्टम मेमोरी अनुरोध का सम्मान करने में असमर्थ है (क्योंकि अनुरोधित ब्लॉक बहुत बड़ा है, या सिस्टम मेमोरी पर कम है, या जो भी हो), यह उस परत तक "मेमोरी अपवाद फेंक देगा" जिसने अनुरोध किया था। विभिन्न परतें अपवाद को ऊपर की ओर फेंकना जारी रख सकती हैं। लाइन के साथ कहीं, परतों में से एक को "अपवाद को पकड़ने" और समस्या से निपटने की आवश्यकता होती है। कार्यक्रम को कहने की जरूरत है, "वाह - सिस्टम मेमोरी से बाहर है। मुझे उपयोगकर्ता को इसके बारे में एक अच्छे संवाद बॉक्स के साथ बताना होगा।" यदि प्रोग्राम अपवाद को पकड़ने में विफल रहता है (क्योंकि किसी कारण से प्रोग्रामर ने उस विशेष अपवाद को संभालने के लिए कोड कभी नहीं लिखा), तो अपवाद इसे सभी परतों के शीर्ष पर ले जाता है,और ऑपरेटिंग सिस्टम इसे "अनहेल्ड अपवाद" के रूप में पहचानता है। ऑपरेटिंग सिस्टम तब प्रोग्राम को बंद कर देता है। अच्छी तरह से डिज़ाइन किया गया सॉफ़्टवेयर सभी अपवादों को संभालता है।
- अमान्य पृष्ठ दोष - एक प्रोग्राम डेटा संग्रहीत करने के लिए मेमोरी ( RAM ) का उपयोग करता है । उदाहरण के लिए, जब आप किसी दस्तावेज़ को Microsoft Word में लोड करते हैं, तो आपके द्वारा संपादित की जा रही फ़ाइल का बड़ा भाग RAM में स्थान लेता है। चूंकि प्रोग्राम को मेमोरी की आवश्यकता होती है, यह ऑपरेटिंग सिस्टम से विशिष्ट आकार की मेमोरी के ब्लॉक का अनुरोध करता है। कार्यक्रम प्रत्येक ब्लॉक के स्थान को याद रखता है जिसे वह "पॉइंटर" का उपयोग करके आवंटित करता है। यदि प्रोग्राम मेमोरी ब्लॉक के अंत से परे किसी स्थान पर डेटा लिखने का प्रयास करता है, या यदि प्रोग्राम भ्रमित हो जाता है और अमान्य पॉइंटर का उपयोग करके मेमोरी के गैर-मौजूद ब्लॉक तक पहुंचने का प्रयास करता है, तो ऑपरेटिंग सिस्टम यह देख सकता है और एक उत्पन्न करता है "पेज फॉल्ट" या "सेगमेंटेशन फॉल्ट।" ऑपरेटिंग सिस्टम प्रोग्राम को बंद कर देता है क्योंकि प्रोग्राम स्पष्ट रूप से नहीं जानता कि वह क्या कर रहा है।
- अवैध संचालन - एक माइक्रोप्रोसेसर में निर्देशों की एक सीमित संख्या होती है जिसे वह समझता है, और प्रत्येक निर्देश को "ऑपोड" के रूप में जाना जाता है। opcode 43 का अर्थ "जोड़ना" हो सकता है, opcode 52 का अर्थ "गुणा करना" आदि हो सकता है। यदि माइक्रोप्रोसेसर किसी प्रोग्राम को निष्पादित कर रहा है और एक ऐसे ऑपोड पर आता है जिसे वह पहचान नहीं पाता है या वर्तमान स्थिति के कारण इसे निष्पादित नहीं कर सकता है। , तो माइक्रोप्रोसेसर शिकायत करना बंद कर देता है। ऑपरेटिंग सिस्टम आपत्तिजनक प्रोग्राम को बंद करके इस शिकायत को हैंडल करता है। अवैध ऑपकोड आमतौर पर सॉफ़्टवेयर जंपिंग से स्मृति में एक स्थान पर आते हैं जिसमें वैध प्रोग्राम जानकारी नहीं होती है।
ये सभी समस्याएं प्रोग्रामर की ओर से मानवीय त्रुटि के कारण होती हैं। प्रोग्रामर एक अपवाद को पकड़ने के लिए पर्याप्त मेहनती नहीं है, या प्रोग्राम को अमान्य मेमोरी तक पहुंचने की अनुमति देता है। कभी-कभी, मूल कारण अक्षमता या अनुभवहीनता है, लेकिन कई मामलों में यह आज के कार्यक्रमों की जटिलता है। सैकड़ों अपवाद हैं और अक्सर स्मृति के लाखों ब्लॉक होते हैं जिन्हें एक प्रोग्राम एक जटिल, स्तरित वातावरण में प्रबंधित करता है। एक गलत कदम और एप्लिकेशन क्रैश हो जाता है - सॉफ्टवेयर बहुत भंगुर होता है। परीक्षण में कई त्रुटियां मिलती हैं, लेकिन आमतौर पर यह उन सभी को नहीं ढूंढती है।
ये लिंक आपको और जानने में मदद करेंगे:
- घातक अपवाद त्रुटियाँ क्या हैं?
- एमएस विंडोज त्रुटि संदेश
- नेट सीखें: डिकोडिंग त्रुटि संदेश
- कंप्यूटर मेमोरी कैसे काम करती है
- ऑपरेटिंग सिस्टम कैसे काम करते हैं
- माइक्रोप्रोसेसर कैसे काम करते हैं