इंटरप्ट अॅन्ड अपवाद दरम्यान फरक

Anonim

इंटरप्ट वि अपवाद असे कार्यक्रम जसे की एखाद्या संगणकामध्ये, प्रोग्रॅमच्या सामान्य अंमलबजावणीदरम्यान, अशा घटना असू शकतात ज्यामुळे CPU तात्पुरते स्थगित होऊ शकते. याप्रकारच्या इव्हेंट्सना इंटरप्ट म्हणतात. सॉफ्टवेअर किंवा हार्डवेअर दोषांमुळे इंटरप्ट होऊ शकतात. हार्डवेअरच्या व्यत्ययांना (फक्त) इंटरप्ट्स म्हटले जाते, तर सॉफ्टवेअर इंटरप्ट्स अपवाद म्हटले जाते. इंटरप्ट (सॉफ़्टवेअर किंवा हार्डवेअर) उठल्यावर एकदा नियंत्रण ISR (इंटरप्ट सेवा नियमानुसार) नावाच्या विशेष उपनियमांकडे हस्तांतरित केले जाते जे इंटरप्ट द्वारे उठविलेली परिस्थिती हाताळू शकते.

इंटरप्ट म्हणजे काय?

इंटरप्ट सामान्यतः हार्डवेअर इंटरप्ट्ससाठी राखीव आहे बाह्य हार्डवेअर इव्हेंटमुळे ते प्रोग्राम नियंत्रण व्यत्यय आहेत. येथे, बाह्य CPU म्हणजे बाह्य म्हणजे हार्डवेअर इंटरप्ट सामान्यत: टाइमर चिप, पेरिफेरल डिव्हाइसेस (कीबोर्ड, माऊस इ.), I / O पोर्ट्स (सिरीयल, पॅरलल, इत्यादी), डिस्क ड्राईव्ह, CMOS घड्याळ, विस्तार कार्ड (ध्वनी कार्ड, व्हिडिओ) कार्ड, इत्यादी). याचा अर्थ असा की कार्यप्रणाली प्रोग्रामशी संबंधित काही कार्यक्रमामुळे हार्डवेअरमध्ये व्यत्यय येऊ शकत नाहीत. उदाहरणार्थ, वापरकर्त्याद्वारे कीबोर्डवरील कि प्रेसवरील इव्हेंट किंवा अंतर्गत हार्डवेअर टाइमर वेळ संपल्यावर अशा प्रकारचे इंटरप्ट व्यथित होते आणि सीपीयूला माहिती देऊ शकते की विशिष्ट डिव्हाइसला काही लक्ष देणे आवश्यक आहे अशा परिस्थितीत ज्याने हे करत होता ते CPU थांबेल (i. वर्तमान प्रोग्रामला थांबवते), यंत्राद्वारे आवश्यक सेवा प्रदान करते आणि सामान्य कार्यक्रमात परत येईल. जेव्हा हार्डवेयर व्यत्यय येतो आणि CPU ने ISR सुरू करतो, तेव्हा इतर हार्डवेअर व्यत्यय अक्षम होतात (उदा. 80 × 86 मशीनमध्ये). ISR चालू असताना आपल्याला इतर हार्डवेअर इंटरप्टची आवश्यकता असल्यास, आपल्याला हे इंटरप्ट ध्वज साफ करून (STI सूचनासह) स्पष्टपणे करावे लागेल. 80 × 86 मशीनमध्ये, इंटरप्ट फ्लॅग साफ केल्याने हार्डवेअर इंटरप्ट्स प्रभावित होईल.

अपवाद म्हणजे काय?

अपवाद एक सॉफ्टवेअर इंटरप्ट आहे, जो विशेष हँडलर रूटीन म्हणून ओळखला जाऊ शकतो. अपवाद एक आपोआप उद्भवणारा सापळा म्हणून ओळखला जाऊ शकतो (ट्रॅप नियंत्रणाचे हस्तांतरण म्हणून ओळखले जाऊ शकते, जे प्रोग्रामर द्वारे सुरू केले जाते). साधारणपणे, अपवादांशी संबंधित कोणतीही विशिष्ट सूचना नाहीत (विशिष्ट निर्देश वापरून सापळे व्युत्पन्न केले जातात). तर, अपवाद "अपवादात्मक" स्थितीमुळे उद्भवतो जो कार्यक्रम अंमलबजावणीदरम्यान उद्भवतो. उदाहरणार्थ, शून्याद्वारे विभाजन, बेकायदेशीर ओपरोड किंवा मेमरी संबंधित दोष अंमलबजावणी अपवाद होऊ शकते. अपवाद वाढवला जातो तेव्हा, CPU तात्पुरते तो कार्यान्वित असलेल्या प्रोग्रामला निलंबित करते आणि ISR सुरू करते. ISR मध्ये अपवादासह काय करावे लागेल. हे कदाचित समस्येचे निराकरण करू शकते किंवा जर हे शक्य नसेल तर तो योग्य त्रुटी संदेश मुद्रित करून कार्यक्रम सक्तीने रद्द करू शकतो.एक विशिष्ट सूचना अपवाद नाही कारण, एक अपवाद नेहमी सूचना एक कारण असेल उदाहरणार्थ, शून्य त्रुटीमुळे विभागणी फक्त विभाजन सूचना कार्यान्वित करतानाच होऊ शकते.

इंटरप्ट अॅण्ड अपवाद यामध्ये काय फरक आहे?

इंटरप्ट हाडवेअर व्यत्यय आहेत, अपवाद सॉफ्टवेअर इंटरप्ट आहेत हार्डवेअर इंटरप्टच्या घटना सहसा इतर हार्डवेअर व्यत्यय अक्षम करते, परंतु अपवादांकरिता हे खरे नाही. अपवाद दाखवल्याशिवाय आपल्याला हार्डवेअर इंटरप्ट नकारण्याची आवश्यकता असल्यास, आपल्याला इंटरप्ट फ्लॅग स्पष्टपणे साफ करण्याची आवश्यकता आहे. आणि सामान्यत: संगणकावरील इंटरप्ट ध्वज अपवादांच्या विरोधात (हार्डवेअर) इंटरप्टस प्रभावित करतो. याचा अर्थ हा ध्वज साफ करण्याने अपवादांना प्रतिबंध होणार नाही.