बीच में अंतर और अपवाद

Anonim

इंटरप्ट बनाम अपवाद

किसी भी कंप्यूटर में, किसी प्रोग्राम के सामान्य निष्पादन के दौरान, ऐसी घटनाएं हो सकती हैं जो CPU को अस्थायी रूप से रोक सकें। इस तरह की घटनाओं को इंटरप्ट कहा जाता है इंटरप्ट किसी भी सॉफ्टवेयर या हार्डवेयर दोष के कारण हो सकता है। हार्डवेयर इंटरप्ट्स को (बस) इंटरप्ट्स कहा जाता है, जबकि सॉफ्टवेयर इंटरप्ट को अपवाद कहा जाता है। एक बार अंतरायन (सॉफ़्टवेयर या हार्डवेयर) उठाया जाता है, नियंत्रण को आईएसआर (इंटरप्ट सर्विस राऊंडिन) नामक एक विशेष उपनगरों में स्थानांतरित किया जाता है जो कि बीच में उठने वाली स्थिति को नियंत्रित कर सकता है।

इंटरप्ट क्या है?

शब्द इंटरप्ट आमतौर पर हार्डवेयर इंटरप्ट के लिए आरक्षित है वे बाहरी हार्डवेयर घटनाओं के कारण कार्यक्रम नियंत्रण रुकावटें हैं I यहां, सीपीयू के बाहरी बाह्य साधन हार्डवेयर इंटरप्ट आमतौर पर कई विभिन्न स्रोतों जैसे कि टाइमर चिप, परिधीय डिवाइस (कीबोर्ड, माउस, आदि), आई / ओ बंदरगाहों (सीरियल, समानांतर, आदि), डिस्क ड्राइव, सीएमओएस घड़ी, विस्तार कार्ड (ध्वनि कार्ड, वीडियो) से आते हैं। कार्ड, आदि)। इसका अर्थ है कि निष्पादन कार्यक्रम से संबंधित कुछ ईवेंट के कारण हार्डवेयर इंटरप्ट लगभग कभी नहीं होते हैं। उदाहरण के लिए, उपयोगकर्ता द्वारा कीबोर्ड पर एक कुंजी प्रेस की तरह एक इवेंट, या एक आंतरिक हार्डवेयर टाइमर का समय समाप्त करने से इस तरह की बाधा उत्पन्न हो सकती है और CPU को सूचित कर सकता है कि एक निश्चित डिवाइस को कुछ ध्यान देने की जरूरत है। ऐसी स्थिति में, सीपीयू जो भी यह कर रहा था (i। वर्तमान प्रोग्राम को रोकता है) को रोक देगा, डिवाइस द्वारा आवश्यक सेवा प्रदान करेगा और सामान्य कार्यक्रम में वापस आएगा। जब हार्डवेयर इंटरप्ट उत्पन्न होता है और सीपीयू आईएसआर शुरू होता है, तो अन्य हार्डवेयर इंटरप्ट्स अक्षम होते हैं (जैसे 80 × 86 मशीनों में) यदि आपको आईएसआर चलने के दौरान होने वाले अन्य हार्डवेयर इंटरप्ट की आवश्यकता है, तो आपको यह स्पष्ट रूप से इंटरप्ट ध्वज को साफ करने की ज़रूरत है (स्टी निर्देश के साथ)। 80 × 86 मशीनों में, इंटरप्ट फ्लैग समाशोधन केवल हार्डवेयर इंटरप्ट्स को प्रभावित करेगा

अपवाद क्या है?

अपवाद एक सॉफ्टवेयर इंटरप्ट है, जिसे एक विशेष हैंडलर रूटीन के रूप में पहचाना जा सकता है। अपवाद को स्वचालित रूप से होने वाली जाल के रूप में पहचाना जा सकता है (ट्रैप को नियंत्रण के हस्तांतरण के रूप में पहचाना जा सकता है, जिसे प्रोग्रामर द्वारा शुरू किया जाता है)। आम तौर पर, अपवादों के साथ कोई विशेष निर्देश नहीं होते हैं (विशिष्ट निर्देश का उपयोग करते हुए जाल उत्पन्न होते हैं) इसलिए, अपवाद एक "असाधारण" स्थिति के कारण होता है जो प्रोग्राम निष्पादन के दौरान होता है। उदाहरण के लिए, शून्य द्वारा विभाजन, एक अवैध opcode या स्मृति संबंधित गलती के निष्पादन अपवाद का कारण हो सकता है। जब भी कोई अपवाद उठाया जाता है, तो CPU अस्थायी तौर पर उस प्रोग्राम को निलंबित कर देता है जो इसे निष्पादित कर रहा था और आईएसआर शुरू कर देता है। आईएसआर में अपवाद के साथ क्या करना होगा। यह समस्या को ठीक कर सकता है या यदि यह संभव नहीं है तो यह एक उपयुक्त त्रुटि संदेश छापकर कार्यक्रम को पूरी तरह से रद्द कर सकता है।हालांकि एक विशिष्ट निर्देश एक अपवाद का कारण नहीं है, एक अपवाद हमेशा एक निर्देश के कारण होता है। उदाहरण के लिए, शून्य त्रुटि से विभाजन केवल विभाजन निर्देश के निष्पादन के दौरान ही हो सकता है।

इंटरप्ट और अपवाद के बीच अंतर क्या है?

इंटरप्ट्स हार्डवेयर इंटरप्ट हैं, जबकि अपवाद सॉफ्टवेयर इंटरप्ट हैं हार्डवेयर इंटरप्ट्स की घटनाएं आमतौर पर अन्य हार्डवेयर इंटरप्ट को अक्षम करती हैं, लेकिन यह अपवादों के लिए सही नहीं है। यदि अपवाद को प्रदत्त होने तक हार्डवेयर इंटरप्ट को अस्वीकार करने की आवश्यकता है, तो आपको इंटरप्ट ध्वज को स्पष्ट रूप से साफ़ करना होगा। और आम तौर पर कंप्यूटर पर इंटरप्ट ध्वज अपवादों के विरोध के रूप में (हार्डवेयर) इंटरप्ट को प्रभावित करता है। इसका अर्थ है कि इस ध्वज को साफ़ करने से अपवादों को नहीं रोका जाएगा।