अवरोध (इंटरप्ट)

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

प्रकार
कंप्यूटर हार्डवेयर या सॉफ़्टवेयर आयोजन के उत्तर में बाधा संकेत जारी किए जा सकते हैं। इन्हें क्रमशः हार्डवेयर अवरोध या सॉफ़्टवेयर अवरोध के रूप में वर्गीकृत किया जाता है। किसी विशेष प्रोसेसर के लिए, बाधा प्रकार की संख्या वास्तुकला द्वारा सीमित होती है।

हार्डवेयर बाधित
हार्डवेयर बाधा हार्डवेयर की स्थिति से संबंधित एक स्थिति है जिसे बाहरी हार्डवेयर उपकरण द्वारा संकेत किया जा सकता है, उदाहरण के लिए, PC पर एक व्यवधान अनुरोध (IRQ) कतार, या प्रोसेसर तर्क में अंतर्निहित उपकरण द्वारा पता लगाया जाता है (जैसे, CPU घड़ी) IBM प्रणाली/370 में), यह संचार करने के लिए कि उपकरण को ऑपरेटिंग प्रणाली (OS) से ध्यान देने की आवश्यकता है या, यदि कोई OS नहीं है, तो CPU पर चल रहे बेयर-मेटल प्रोग्राम से। ऐसे बाहरी उपकरण कंप्यूटर का हिस्सा हो सकते हैं (जैसे, डिस्क नियंत्रक) या वे बाह्य बाह्य उपकरण हो सकते हैं। उदाहरण के लिए, कीबोर्ड (कंप्यूटिंग) कुंजी दबाने या माउस (कंप्यूटिंग) को PS/2 पोर्ट में प्लग करने से हार्डवेयर बाधित होता है जिससे प्रोसेसर कुंजीस्ट्रोक या माउस स्थिति को पढ़ने का कारण बनता है।

हार्डवेयर बाधा प्रोसेसर घड़ी के संबंध में अतुल्यकालिक रूप से संचार कर सकते हैं, और किसी भी समय निर्देश निष्पादन के दौरान। परिणाम स्वरुप, सभी आने वाले हार्डवेयर बाधा संकेत को प्रोसेसर घड़ी में तुल्यकालित करके वातानुकूलित किया जाता है, और केवल निर्देश निष्पादन सीमाओं पर कार्य किया जाता है।

कई प्रणालियों में, प्रत्येक उपकरण एक विशेष IRQ संकेत से जुड़ा होता है। यह जल्दी से यह निर्धारित करना संभव बनाता है कि कौन सा हार्डवेयर उपकरण सेवा का अनुरोध कर रहा है, और उस उपकरण की मरम्मत में तेजी लाने के लिए।

कुछ पुराने प्रणाली पर, जैसे 1964 सीडीसी 3600, सभी व्यवधान एक ही स्थान पर गए, और OS ने सर्वोच्च-प्राथमिकता वाले बकाया बेपर्दा व्यवधान को निर्धारित करने के लिए एक विशेष निर्देश का उपयोग किया। समकालीन प्रणालियों पर, सामान्यतः प्रत्येक प्रकार के व्यवधान (या प्रत्येक व्यवधान स्रोत के लिए) के लिए विशिष्ट व्यवधान दिनचर्या होती है, जिसे अधिकांशतः एक या अधिक व्यवधान सदिश तालिकाओं के रूप में प्रयुक्त किया जाता है।

प्रच्छादन
किसी रुकावट को छिपाने का कारण उसे निष्क्रिय करना है, इसलिए इसे स्थगित कर दिया गया है या उपेक्षित प्रोसेसर द्वारा, जबकि रुकावट को अनमास्क करना इसे सक्षम करना है।

प्रोसेसर में सामान्यतः एक आंतरिक बाधा मास्क पंजीकरण होता है, जो चयनात्मक सक्षम करने की अनुमति देता है (और अक्षम करना) हार्डवेयर व्यवधान। प्रत्येक व्यवधान संकेत मास्क पंजीकरण में एक बिट से जुड़ा होता है। कुछ प्रणालियों पर, बिट समुच्चय होने पर बाधा सक्षम होती है, और बिट स्पष्ट होने पर अक्षम हो जाती है। दूसरों पर, विपरीत सत्य है, और एक समुच्चय बिट व्यवधान को निष्क्रिय कर देता है। जब बाधा अक्षम होता है, तो संबंधित बाधा संकेत को प्रोसेसर द्वारा अनदेखा किया जा सकता है, या यह लंबित रह सकता है। संकेत जो मास्क से प्रभावित होते हैं उन्हें मास्केबल बाधा कहा जाता है।

कुछ बाधा संकेत बाधा मास्क से प्रभावित नहीं होते हैं और इसलिए उन्हें अक्षम नहीं किया जा सकता है; इन्हें गैर-मास्केबल अवरोध (एनएमआई) कहा जाता है। ये उच्च-प्राथमिकता वाली घटनाओं को इंगित करते हैं जिन्हें किसी भी परिस्थिति में अनदेखा नहीं किया जा सकता है, जैसे निगरानी घड़ी से समय समाप्त संकेत।

नकली व्यवधान
नकली व्यवधान एक हार्डवेयर बाधा है जिसके लिए कोई स्रोत नहीं पाया जा सकता है। इस घटना का वर्णन करने के लिए प्रेत बाधा या घोस्ट बाधा शब्द का भी उपयोग किया जा सकता है। एक स्तर-संवेदनशील प्रोसेसर इनपुट से जुड़े 'वायर्ड-या' बाधा परिपथ के साथ नकली व्यवधान एक समस्या है। जब कोई प्रणाली गलत व्यवहार करता है तो इस तरह के व्यवधानों की पहचान करना कठिनाई हो सकता है।

एक तारयुक्त-ओआर परिपथ में, बाधा पंक्ति के बायस अवरोध के माध्यम से परजीवी धारिता चार्जिंग/डिस्चार्जिंग से प्रोसेसर को पहचानने से पहले एक छोटी सी देरी होगी कि बाधा स्रोत को साफ कर दिया गया है। यदि दखल उपकरण को बाधा सेवा दिनचर्या (ISR) में बहुत देर से साफ़ किया जाता है, तो ISR के वर्तमान उदाहरण के समाप्त होने से पहले बाधा परिपथ को मौन स्थिति में लौटने के लिए पर्याप्त समय नहीं होगा। नतीजा यह है कि प्रोसेसर सोचेगा कि एक और रुकावट लंबित है, क्योंकि इसके बाधा अनुरोध इनपुट पर वोल्टेज एक स्पष्ट आंतरिक तर्क 1 या तर्क 0 स्थापित करने के लिए पर्याप्त उच्च या निम्न नहीं होगा। स्पष्ट बाधा का कोई पहचान योग्य स्रोत नहीं होगा, इसलिए नकली उपनाम।

दोषपूर्ण परिपथ डिजाइन, उच्च विद्युत हस्तक्षेप स्तर, क्रॉसस्टॉक, समय के मुद्दों, या अधिक संभवतः ही कभी, इरेटम या CPU तर्क के कारण एक नकली बाधा भी विद्युत अस्तव्यस्तता का परिणाम हो सकती है।

यदि ISR इस तरह के व्यवधान की संभावना को ध्यान में नहीं रखता है, तो एक नकली रुकावट के परिणामस्वरूप सिस्टम डेडलॉक या अन्य अपरिभाषित ऑपरेशन हो सकता है। नकली इंटरप्ट ज्यादातर वायर्ड-या इंटरप्ट सर्किट के साथ एक समस्या है, ऐसे सिस्टम में अच्छा प्रोग्रामिंग अभ्यास आईएसआर के लिए गतिविधि के लिए सभी इंटरप्ट स्रोतों की जांच करने और कोई कार्रवाई नहीं करने के लिए है (संभवतः ईवेंट लॉगिंग के अलावा) यदि कोई भी स्रोत बाधित नहीं हो रहा है.

सॉफ्टवेयर बाधित
विशेष निर्देशों को क्रियान्वित करने पर या कुछ शर्तों को पूरा करने पर प्रोसेसर द्वारा सॉफ़्टवेयर व्यवधान का अनुरोध किया जाता है। हर सॉफ्टवेयर इंटरप्ट सिग्नल एक विशेष इंटरप्ट हैंडलर से जुड़ा होता है।

एक विशेष निर्देश (कंप्यूटर विज्ञान) को क्रियान्वित करने के कारण एक सॉफ़्टवेयर बाधा जानबूझकर उत्पन्न हो सकती है, जो डिज़ाइन द्वारा, निष्पादित होने पर बाधा उत्पन्न करती है। इस तरह के निर्देश उपनेमका कॉल के समान कार्य करते हैं और विभिन्न उद्देश्यों के लिए उपयोग किए जाते हैं, जैसे कि ऑपरेटिंग सिस्टम सेवाओं का अनुरोध करना और डिवाइस ड्राइवरों के साथ बातचीत करना (जैसे, स्टोरेज मीडिया को पढ़ने या लिखने के लिए)। प्रोग्राम निष्पादन त्रुटियों या आभासी मेमोरी सिस्टम द्वारा सॉफ़्टवेयर इंटरप्ट्स को भी ट्रिगर किया जा सकता है।

आमतौर पर, ऑपरेटिंग सिस्टम कर्नेल (ऑपरेटिंग सिस्टम) ऐसे इंटरप्ट को पकड़ेगा और हैंडल करेगा। कुछ रुकावटों को प्रोग्राम में पारदर्शी रूप से नियंत्रित किया जाता है - उदाहरण के लिए, पृष्ठ दोष का सामान्य रिज़ॉल्यूशन आवश्यक पेज को भौतिक मेमोरी में एक्सेस करने योग्य बनाना है। लेकिन अन्य मामलों में जैसे विखंडन दोष ऑपरेटिंग सिस्टम एक प्रक्रिया कॉलबैक निष्पादित करता है। यूनिक्स जैसे ऑपरेटिंग सिस्टम पर इसमें सिग्नल (IPC) जैसे SIGSEGV, SIGBUS, SIGILL या SIGFPE भेजना शामिल है, जो या तो सिग्नल हैंडलर को कॉल कर सकता है या एक डिफ़ॉल्ट क्रिया (प्रोग्राम को समाप्त) कर सकता है। विंडोज पर STATUS_ACCESS_VIOLATION या STATUS_INTEGER_DIVIDE_BY_ZERO जैसे अपवाद कोड के साथ संरचित अपवाद हैंडलिंग का उपयोग करके कॉलबैक किया जाता है। कर्नेल प्रक्रिया (कंप्यूटिंग) में, अधिकांशतः ऐसा होता है कि कुछ प्रकार के सॉफ़्टवेयर व्यवधान होने की उम्मीद नहीं होती है। यदि वे फिर भी होते हैं, तो क्रैश (कंप्यूटिंग) या ऑपरेटिंग प्रणाली क्रैश हो सकता है।

शब्दावली
बाधा, जाल, एक्सेप्शन, फॉल्ट और एबॉर्ट शब्द का उपयोग बाधा के प्रकारों को अलग करने के लिए किया जाता है, चूंकि इन शब्दों के स्पष्ट अर्थ के बारे में कोई स्पष्ट सहमति नहीं है। (हार्डवेयर) अवरोध एक I/O उपकरण द्वारा अतुल्यकालिक रूप से चालू किए गए अवरोध हैं, और प्रोग्राम को निरंतरता के हानि के बिना पुनरारंभ करने की अनुमति देते हैं। एक गलती भी पुनरारंभ करने योग्य है किन्तु एक निर्देश के तुल्यकालिक निष्पादन से बंधा हुआ है - वापसी का पता दोषपूर्ण निर्देश को इंगित करता है। एक जाल एक गलती के समान है, सिवाय इसके कि वापसी का पता उस निर्देश को इंगित करता है जिसे फँसाने के निर्देश के बाद निष्पादित किया जाना है; एक प्रमुख उपयोग प्रणाली कॉल को कार्यान्वित करना है। गंभीर त्रुटियों के लिए गर्भपात का उपयोग किया जाता है, जैसे कि हार्डवेयर त्रुटियां और प्रणाली तालिकाओं में अवैध मान, और अधिकांशतः कार्यक्रम को पुनः आरंभ करने की अनुमति नहीं देता है।

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

चालू करने के तरीके
प्रत्येक बाधा संकेत इनपुट को एक लॉजिक संकेत स्तर या एक विशेष संकेत किनारा(स्तर संक्रमण) द्वारा चालू करने के लिए रचना किया गया है। स्तर-संवेदनशील इनपुट लगातार प्रोसेसर सेवा का अनुरोध करते हैं जब तक इनपुट पर एक विशेष (उच्च या निम्न) तर्क स्तर प्रयुक्त होता है। बढ़त के प्रति संवेदनशील इनपुट्स संकेत किनारों पर प्रतिक्रिया करते हैं: एक विशेष (बढ़ते या गिरते) किनारे से सेवा अनुरोध वर्जित हो जाएगी; जब बाधा प्रबंधक निष्पादित होता है तो प्रोसेसर वर्जित को रीसेट करता है।

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

प्रोसेसर प्रत्येक निर्देश चक्र के समयबाधा इनपुट संकेत का नमूना लेता है। नमूनाकरण होने पर संकेत जोर देने पर प्रोसेसर बाधा अनुरोध को पहचान लेगा।

स्तर-उत्प्रेरित इनपुट कई डिवाइसों को तारयुक्त-या संबंध के माध्यम से एक सामान्य बाधा संकेत साझा करने की अनुमति देते हैं। प्रोसेसर यह निर्धारित करने के लिए मतदान करता है कि कौन से उपकरण सेवा का अनुरोध कर रहे हैं। उपकरण की सर्विसिंग के बाद, प्रोसेसर फिर से पोल कर सकता है और, यदि आवश्यक हो, तो ISR से बाहर निकलने से पहले अन्य उपकरण की सर्विस कर सकता है।

एज-उत्प्रेरित
एज-उत्प्रेरित बाधा, बाधा पंक्ति पर संकेत किनारा द्वारा संकेत किया गया बाधा है, या तो एक गिरने वाला किनारा (उच्च से निम्न) या एक बढ़ता हुआ किनारा (निम्न से उच्च)। एक उपकरण जो एक रुकावट का संकेत देना चाहता है, पंक्ति पर एक पल्स ड्राइव करता है और फिर पंक्ति को उसकी निष्क्रिय अवस्था में छोड़ देता है। यदि स्पंद बहुत छोटा है और मतदान I/O द्वारा पता लगाया जा सकता है तो इसका पता लगाने के लिए विशेष हार्डवेयर की आवश्यकता हो सकती है। एज ट्रिगरिंग का महत्वपूर्ण हिस्सा यह है कि संकेत को व्यवधान को ट्रिगर करने के लिए संक्रमण होना चाहिए; उदाहरण के लिए, यदि संकेत उच्च-निम्न-निम्न था, तो केवल एक गिरने वाला किनारा अवरोध ट्रिगर होगा, और निरंतर निम्न स्तर आगे की बाधा को ट्रिगर नहीं करेगा। संकेत को उच्च स्तर पर वापस आना चाहिए और एक और बाधा उत्पन्न करने के लिए फिर से गिरना चाहिए। यह एक लेवल उत्प्रेरित के साथ विरोधाभासी है जहां संकेत अपने उच्च स्तर पर लौटने तक निम्न स्तर बाधा (यदि वे सक्षम हैं) बनाते रहेंगे।

एज-उत्प्रेरित बाधा वाले कंप्यूटर में एक बाधा पंजीकरण सम्मिलित हो सकता है जो लंबित बाधा की स्थिति को निरंतर रखता है। बाधा पंजीकरण वाले प्रणाली में सामान्यतः बाधा मास्क पंजीकरण भी होते हैं।

प्रोसेसर प्रतिक्रिया
प्रोसेसर प्रत्येक निर्देश चक्र के समयबाधा ट्रिगर संकेत या बाधा पंजीकरण का नमूना लेता है, और उच्चतम प्राथमिकता सक्षम बाधा को संसाधित करेगा।

ट्रिगरिंग विधि के अतिरिक्त, प्रोसेसर एक ज्ञात ट्रिगर के बाद अगली निर्देश सीमा पर प्रसंस्करण को बाधित करना प्रारंभ कर देगा, इस प्रकार यह सुनिश्चित करता है:
 * प्रोसेसर की स्थिति ज्ञात तरीके से सहेजा जाता है। सामान्यतः स्थिति ज्ञात स्थान पर संग्रहीत होती है, किन्तु कुछ प्रणालियों पर यह स्टैक पर संग्रहीत होती है।
 * PC द्वारा बताए गए निर्देशों से पहले के सभी निर्देशों का पूरी तरह से पालन किया गया है।
 * PC द्वारा बताए गए निर्देश से परे कोई भी निर्देश निष्पादित नहीं किया गया है, या इस तरह के किसी भी निर्देश को बाधित करने से पहले पूर्ववत किया जाता है।
 * PC द्वारा बताए गए निर्देश की निष्पादन स्थिति ज्ञात है।

प्रणाली कार्यान्वयन
अवरोधों को हार्डवेयर में नियंत्रण रेखाओं के साथ एक अलग घटक के रूप में प्रयुक्त किया जा सकता है, या उन्हें एकीकृत किया जा सकता है.

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

साझा IRQs
यदि वे रचना किए गए हैं तो एकाधिक उपकरण एज-उत्प्रेरित बाधा पंक्ति साझा कर सकते हैं। बाधा पंक्ति में एक नीचे खींचना या ऊपर खींचना प्रतिरोधक होना चाहिए जिससे सक्रिय रूप से संचालित न होने पर यह अपनी निष्क्रिय अवस्था में स्थिर हो जाए, जो कि इसकी डिफ़ॉल्ट स्थिति है। उपकरण संक्षिप्त रूप से पंक्ति को उसकी गैर-डिफ़ॉल्ट स्थिति में चलाकर एक रुकावट का संकेत देते हैं, और एक रुकावट का संकेत नहीं देने पर पंक्ति को  प्रवाहित करने देते हैं (इसे सक्रिय रूप से ड्राइव न करें)। इस प्रकार के संबंध को खुला संग्रहकर्त्ता भी कहा जाता है। रेखा तब सभी उपकरणों द्वारा उत्पन्न सभी दालों को वहन करती है। (यह कुछ बसों और ट्रॉलियों पर रस्सी खींचो के समान है जिसे कोई भी यात्री चालक को संकेत देने के लिए खींच सकता है कि वे रुकने का अनुरोध कर रहे हैं।) चूंकि, विभिन्न उपकरणों से आने वाली स्पंदन विलय हो सकती हैं यदि वे समय के करीब होती हैं। रुकावटों को खोने से बचने के लिए CPU को पल्स के अनुगामी किनारे पर ट्रिगर करना चाहिए (उदाहरण के लिए यदि पंक्ति को ऊपर खींचा जाता है और नीचे चलाया जाता है तो बढ़ता हुआ किनारा)। रुकावट का पता लगाने के बाद CPU को सेवा आवश्यकताओं के लिए सभी उपकरणों की जांच करनी चाहिए।

एज-उत्प्रेरित अवरोध साझा करने के साथ स्तर-उत्प्रेरित अवरोध की समस्याओं का सामना नहीं करते हैं। निम्न-प्राथमिकता वाले उपकरणों की सेवा को इच्छानुसार से स्थगित किया जा सकता है, जबकि उच्च-प्राथमिकता वाले उपकरणों से व्यवधान प्राप्त होते रहते हैं और सेवा प्राप्त करते रहते हैं। यदि कोई उपकरण है जिसे CPU सर्विस करना नहीं जानता है, जो नकली व्यवधान उत्पन्न कर सकता है, तो यह अन्य उपकरण के बाधा संकेतन में हस्तक्षेप नहीं करेगा। चूंकि, एज-उत्प्रेरित बाधा को छोड़ना आसान है - उदाहरण के लिए, जब अवरोध को एक अवधि के लिए मास्क किया जाता है - और जब तक कि कुछ प्रकार का हार्डवेयर लैच नहीं होता है जो आयोजन को अभिलेख करता है, इसे पुनर्प्राप्त करना असंभव है। इस समस्या के कारण प्रारंभिक कंप्यूटर हार्डवेयर में कई लॉकअप हो गए क्योंकि प्रोसेसर को यह नहीं पता था कि उसे कुछ करने की उम्मीद है। अधिक आधुनिक हार्डवेयर में अधिकांशतः एक या एक से अधिक व्यवधान स्थिति पंजीकरण होते हैं जो अनुरोधों को बाधित करते हैं; अच्छी तरह से लिखा गया एज-संचालित बाधा प्रबंधन कोड इन पंजीकरण की जांच कर सकता है जिससे यह सुनिश्चित हो सके कि कोई घटना छूटी नहीं है।

बुजुर्ग उद्योग मानक वास्तुकला (आईएसए) बस एज-उत्प्रेरित अवरोध का उपयोग करता है, बिना यह अनिवार्य किए कि उपकरण IRQ पंक्तियां को साझा करने में सक्षम हों, किन्तु सभी मुख्यधारा के ISA  मदरबोर्ड में उनके IRQ पंक्तियां पर पुल-अप प्रतिरोधक सम्मिलित हैं, इसलिए IRQ पंक्तियां को साझा करने वाले अच्छी तरह से व्यवहार वाले ISA उपकरण ठीक काम करना चाहिए। समानांतर पोर्ट एज-उत्प्रेरित अवरोध का भी उपयोग करता है। कई पुराने उपकरण मानते हैं कि उनके पास IRQ पंक्तियां का विशेष उपयोग है, जिससे उन्हें साझा करना विद्युतीय रूप से असुरक्षित हो जाता है।

एक ही पंक्ति साझा करने वाले एकाधिक उपकरणों को 3 तरीकों से उठाया जा सकता है। पहला एक्सक्लूसिव प्रवाहकत्त्व (स्विचिंग) याअनन्य संबंध (पिन से) है। अगला बस से है (सभी एक ही पंक्ति सुनने से जुड़े हुए हैं): बस में कार्ड को पता होना चाहिए कि उन्हें कब बात करनी है और कब बात नहीं करनी है (अर्थात, ISA बस)। बात करने को दो तरह से ट्रिगर किया जा सकता है: संचय लैच या लॉजिक गेट्स द्वारा। लॉजिक गेट एक निरंतर डेटा प्रवाह की अपेक्षा करते हैं जो मुख्य संकेतों के लिए निगरानी किया जाता है। एक्युमुलेटरों केवल तभी ट्रिगर होते हैं जब रिमोट साइड गेट को सीमा से परे उत्तेजित करता है, इस प्रकार किसी बातचीत की गति की आवश्यकता नहीं होती है। प्रत्येक की अपनी गति बनाम दूरी के फायदे हैं। एक ट्रिगर, सामान्यतः , वह विधि है जिसमें उत्तेजना का पता लगाया जाता है: बढ़ती धार, गिरने वाली धार, दहलीज (आस्टसीलस्कप विभिन्न प्रकार की आकृतियों और स्थितियों को ट्रिगर कर सकता है)।

सॉफ़्टवेयर अवरोध के लिए ट्रिगरिंग को सॉफ़्टवेयर (OS और APPदोनों में) में बनाया जाना चाहिए। एक 'C' APP के हेडर में एक ट्रिगर तालिका (फलन की एक तालिका) होती है, जिसे APP और ओएस दोनों जानते हैं और उचित रूप से उपयोग करते हैं जो हार्डवेयर से संबंधित नहीं है। चूंकि इसे हार्डवेयर बाधा के साथ भ्रमित न करें जो CPU को संकेत देता है (CPU कार्यों की तालिका से सॉफ़्टवेयर को प्रयुक्त करता है, इसी तरह सॉफ़्टवेयर बाधा करता है)।

बाधित पंक्तियां को साझा करने में कठिनाई
एक बाधा पंक्ति साझा करने वाले कई उपकरण (किसी भी ट्रिगरिंग शैली के) सभी एक दूसरे के संबंध में नकली बाधा स्रोत के रूप में कार्य करते हैं। एक पंक्ति पर कई उपकरणों के साथ, सर्विसिंग में काम का बोझ उपकरणों की संख्या के वर्ग के अनुपात में बढ़ता है। इसलिए उपलब्ध बाधा पंक्तियां में समान रूप से उपकरणों को फैलाना पसंद किया जाता है। बाधा पंक्तियां की कमी पुराने प्रणाली रचनाओ में समस्या है जहां बाधा पंक्तियां विशिष्ट भौतिक संवाहक हैं। संदेश-संकेत इंटरप्ट्स, जहां बाधा पंक्ति वास्तविक है, नए प्रणाली वास्तुकला (जैसे पीसीआई एक्सप्रेस) में पसंदीदा हैं और इस समस्या को अधिक हद तक राहत देते हैं।

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

हाइब्रिड
कुछ प्रणाली लेवल-उत्प्रेरित और एज-उत्प्रेरित संकेतन के हाइब्रिड का उपयोग करते हैं। हार्डवेयर न केवल किनारे की तलाश करता है, किंतु यह भी सत्यापित करता है कि बाधा संकेत एक निश्चित अवधि के लिए सक्रिय रहता है।

हाइब्रिड बाधा का एक सामान्य उपयोग NMI (गैर -मास्केबल बाधा) इनपुट के लिए है। क्योंकि NMI सामान्यतः प्रमुख - या यहां तक ​​कि विपत्तिपूर्ण - प्रणाली घटनाओं को संकेत देते हैं, इस संकेत का एक अच्छा कार्यान्वयन यह सुनिश्चित करने की कोशिश करता है कि रुकावट यह सत्यापित करके मान्य है कि यह समय की अवधि के लिए सक्रिय रहता है। यह 2-चरणीय दृष्टिकोण प्रणाली को प्रभावित करने वाले झूठे व्यवधानों को समाप्त करने में सहायता करता है।

संदेश-संकेत
एक संदेश-संकेत बाधा भौतिक बाधा पंक्ति का उपयोग नहीं करता है। इसके अतिरिक्त, एक उपकरण कुछ संचार माध्यमों, सामान्यतः एक कंप्यूटर बस पर एक छोटा संदेश भेजकर सेवा के लिए अपने अनुरोध का संकेत देता है। संदेश इंटरप्ट्सके लिए आरक्षित प्रकार का हो सकता है, या यह कुछ पहले से उपस्थित प्रकार का हो सकता है जैसे मेमोरी राइट।

संदेश-संकेत बाधा बहुत हद तक एज-उत्प्रेरित बाधा की तरह व्यवहार करते हैं, जिसमें बाधा एक निरंतर स्थिति के अतिरिक्त एक क्षणिक संकेत है। बाधा-प्रबंधन सॉफ़्टवेयर दोनों को समान तरीके से व्यवहार करता है। सामान्यतः, एक ही संदेश (समान वर्चुअल बाधा लाइन) के साथ कई लंबित संदेश-संकेत अवरोध को मर्ज करने की अनुमति दी जाती है, ठीक उसी तरह जैसे कि निकटवर्ती एज-उत्प्रेरित बाधा मर्ज कर सकते हैं।

संदेश-संकेत व्यवधान वेक्टर को उस सीमा तक साझा किया जा सकता है, जहां तक ​​अंतर्निहित संचार माध्यम को साझा किया जा सकता है। किसी अतिरिक्त प्रयास की आवश्यकता नहीं है।

क्योंकि रुकावट की पहचान डेटा बिट्स के एक पैटर्न द्वारा इंगित की जाती है, जिसके लिए एक अलग भौतिक कंडक्टर की आवश्यकता नहीं होती है, कई अलग-अलग व्यवधानों को कुशलता से नियंत्रित किया जा सकता है। यह साझा करने की आवश्यकता को कम करता है। बाधा संदेशों को क्रमिक बस के ऊपर से भी भेजा जा सकता है, जिसके लिए किसी अतिरिक्त पंक्ति की आवश्यकता नहीं होती है।

PSI एक्सप्रेस, एक क्रमिक कंप्यूटर बस, संदेश संकेतित व्यवधान का उपयोग करती है। संदेश-संकेत बाधा विशेष रूप से।

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

दर्वाज़ी की घंटी बाधा शब्द सामान्यतः एक मिथ्या नाम है। यह एक व्यवधान के समान है, क्योंकि यह उपकरण द्वारा कुछ कार्य किए जाने का कारण बनता है; चूंकि, दर्वाज़ी की घंटी क्षेत्र को कभी-कभी मतदान (कंप्यूटर विज्ञान) क्षेत्र के रूप में प्रयुक्त किया जाता है, कभी-कभी दर्वाज़ी की घंटी क्षेत्र भौतिक उपकरण हार्डवेयर पंजीकरण के माध्यम से लिखता है, और कभी-कभी दर्वाज़ी की घंटी क्षेत्र को सीधे भौतिक उपकरण पंजीकरण में हार्डवायर किया जाता है। भौतिक उपकरण पंजीकरण के माध्यम से या सीधे लिखते समय, यह उपकरण की केंद्रीय प्रोसेसर इकाई (CPU) में वास्तविक बाधा उत्पन्न कर सकता है, यदि इसमें कोई है।

दर्वाज़ी की घंटी अवरोध की तुलना संदेश संकेत अवरोध से की जा सकती है, क्योंकि उनमें कुछ समानताएँ हैं।

मल्टीप्रोसेसर आईपीआई
मल्टीप्रोसेसर प्रणाली में, एक प्रोसेसर इंटर-प्रोसेसर बाधित करता है के माध्यम से दूसरे प्रोसेसर को बाधा अनुरोध भेज सकता है (IPI)।

प्रदर्शन
अवरोध कम ओवरहेड और कम भार पर अच्छा रुकावट विलंबता प्रदान करते हैं, किन्तु उच्च बाधा रेट पर महत्वपूर्ण रूप से गिरावट आती है जब तक कि कई पैथोलॉजी को रोकने के लिए देखभाल नहीं की जाती है। ऐसी घटना जहां समग्र प्रणाली के प्रदर्शन में अत्यधिक मात्रा में प्रसंस्करण समय व्यतीत होने से बाधा उत्पन्न होती है, उसे रुकावट तूफान कहा जाता है।

लाइव ताले के विभिन्न रूप हैं, जब प्रणाली अपना सारा समय प्रोसेसिंग में लगाता है, तो अन्य आवश्यक कार्यों को छोड़ देता है।

अत्यधिक परिस्थितियों में, बड़ी संख्या में व्यवधान (जैसे बहुत अधिक प्रसार यातायात) प्रणाली को पूरी तरह से ठप कर सकते हैं। ऐसी समस्याओं से बचने के लिए, एक ऑपरेटिंग प्रणाली को नेटवर्क बाधा प्रबंधन को सावधानीपूर्वक शेड्यूल करना चाहिए क्योंकि यह प्रक्रिया निष्पादन को शेड्यूल करता है।

मल्टी-कोर प्रोसेसर के साथ, बाधा प्रबंधन में अतिरिक्त प्रदर्शन सुधार रिसीव-साइड स्केलिंग (RSS) के माध्यम से प्राप्त किया जा सकता है जब बहु-कतार एनआईसी का उपयोग किया जाता है। ऐसे एनआईसी अलग-अलग  बाधा से जुड़े कई प्राप्त कतार (सार डेटा प्रकार) प्रदान करते हैं; उनमें से प्रत्येक को अलग-अलग कोर में रूट करके, एक एनआईसी द्वारा प्राप्त  प्रसार यातायात द्वारा ट्रिगर किए गए  बाधा अनुरोधों के प्रसंस्करण को कई कोर के बीच वितरित किया जा सकता है। कोर के बीच अवरोध का वितरण ऑपरेटिंग प्रणाली द्वारा स्वचालित रूप से किया जा सकता है, या अवरोध की रूटिंग (सामान्यतः IRQ एफ़िनिटी के रूप में संदर्भित) को मैन्युअल रूप से कॉन्फ़िगर किया जा सकता है।

पैकेट परिचालक (RPS) प्राप्त करने के रूप में जाना जाने वाला यातायात वितरण प्राप्त करने का विशुद्ध रूप से सॉफ़्टवेयर-आधारित कार्यान्वयन,  बाधा प्रबंधक कार्यक्षमता के भाग के रूप में डेटा पथ में बाद में कोर के बीच प्राप्त यातायात को वितरित करता है। RSS की तुलना में RPS के लाभों में विशिष्ट हार्डवेयर के लिए कोई आवश्यकता नहीं, अधिक उन्नत यातायात वितरण फ़िल्टर और NIC द्वारा उत्पादित अवरोध की कम दर सम्मिलित हैं। नकारात्मक पक्ष के रूप में, RPS इंटर-प्रोसेसर व्यवधान (IPIs) की दर को बढ़ाता है। रिसीव फ्लो परिचालक (RFS) आवेदन इलाका के लिए लेखांकन द्वारा सॉफ्टवेयर-आधारित दृष्टिकोण को आगे ले जाता है; आगे के प्रदर्शन में सुधार उसी कोर द्वारा बाधित अनुरोधों को संसाधित करके प्राप्त किया जाता है, जिस पर लक्षित अनुप्रयोग द्वारा विशेष नेटवर्क पैकेट का उपभोग किया जाएगा।

विशिष्ट उपयोग
व्यवधान सामान्यतः हार्डवेयर समय की सेवा के लिए उपयोग किया जाता है, डेटा को भंडारण (जैसे, डिस्क I / O) और संचार इंटरफेस (जैसे, UART, ईथरनेट) से स्थानांतरित करने, कीबोर्ड और माउस घटनाओं को संभालने और किसी अन्य समय-संवेदनशील घटनाओं का उत्तर देने के लिए उपयोग किया जाता है। आवेदन प्रणाली द्वारा आवश्यक के रूप में। गैर-मास्केबल अवरोध का उपयोग सामान्यतः वॉचडॉग टाइमर टाइमआउट, पावर-डाउन संकेत और एक्सेप्शन हेंडलिंग जैसे उच्च-प्राथमिकता वाले अनुरोधों का उत्तर देने के लिए किया जाता है।

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

एक डिस्क बाधा डिस्क परिधीय से या उसके लिए डेटा स्थानांतरण के पूरा होने का संकेत देती है; इससे एक प्रक्रिया चल सकती है जो पढ़ने या लिखने की प्रतीक्षा कर रही है। पावर-ऑफ बाधा बिजली के आसन्न हानि की भविष्यवाणी करता है, जिससे कंप्यूटर को एक व्यवस्थित शट-डाउन करने की अनुमति मिलती है, जबकि अभी भी ऐसा करने के लिए पर्याप्त शक्ति है। कीबोर्ड व्यवधान सामान्यतः कीस्ट्रोक को बफ़र करने का कारण बनता है जिससे टाइपहेड को प्रयुक्त किया जा सके।

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

अवरोध संकेत (IPC) के समान हैं, अंतर यह है कि संकेत अंतःप्रक्रम संचार (आईपीसी) के लिए उपयोग किए जाते हैं, कर्नेल द्वारा मध्यस्थ (संभवतः प्रणाली कॉल के माध्यम से) और प्रक्रियाओं द्वारा नियंत्रित किया जाता है, जबकि अवरोध प्रोसेसर द्वारा मध्यस्थ होते हैं और नियंत्रित होते हैं कर्नेल (ऑपरेटिंग प्रणाली)। कर्नेल उस प्रक्रिया के लिए एक संकेत के रूप में एक रुकावट पारित कर सकता है जो इसे उत्पन्न करता है (सामान्य उदाहरण SIGSEGV, SIGBUS, SIGILL और SIGFPE हैं)।

इतिहास
हार्डवेयर अवरोध को एक अनुकूलन के रूप में प्रस्तुत किया गया था, जो मतदान (कंप्यूटर विज्ञान) में अनुत्पादक प्रतीक्षा समय को समाप्त करता है, बाहरी घटनाओं की प्रतीक्षा करता है। इस दृष्टिकोण का उपयोग करने वाली पहली प्रणाली DYSEAC थी, जो 1954 में पूरी हुई, चूंकि पहले की प्रणालियाँ जाल (कंप्यूटिंग) कार्य प्रदान करती थीं।

UNIVAC 1103A कंप्यूटर को सामान्यतः 1953 में बाधा के प्रारंभिक उपयोग का श्रेय दिया जाता है। इससे पहले, UNIVAC I (1951) पर अंकगणित अतिप्रवाह ने या तो पता 0 पर दो-निर्देश फिक्स-अप रूटीन के निष्पादन को ट्रिगर किया, या प्रोग्रामर के विकल्प पर, कंप्यूटर को बंद कर दिया। आईबीएम 650 (1954) में  बाधा मास्किंग की पहली घटना सम्मिलित थी। राष्ट्रीय मानक ब्यूरो DYSEAC (1954) I/O के लिए  बाधा का उपयोग करने वाला पहला था। आईबीएम 704 डिबगिंग के लिए अवरोध का उपयोग करने वाला पहला था, ट्रांसफर जाल के साथ, जो एक शाखा निर्देश का सामना करने पर एक विशेष दिनचर्या का आह्वान कर सकता था। MIT लिंकन प्रयोगशाला TX-2 प्रणाली (1957) सबसे पहले प्राथमिकता वाले  बाधा के कई स्तर प्रदान करता था।

यह भी देखें

 * उन्नत प्रोग्रामेबल इंटरप्ट कंट्रोलर (APIC)
 * BIOS इंटरप्ट कॉल
 * घटना-संचालित प्रोग्रामिंग
 * एक्सेप्शन हेंडलिंग
 * INT (x86 निर्देश)
 * विघ्न समेकन
 * इंटरप्ट हैंडलर
 * व्यवधान विलंबता
 * 65xx प्रोसेसर में रुकावट
 * राल्फ ब्राउन की इंटरप्ट लिस्ट
 * IBM सिस्टम/360 आर्किटेक्चर#इंटरप्शन सिस्टम|IBM सिस्टम/360 आर्किटेक्चर पर इंटरप्ट्स
 * समय-ट्रिगर प्रणाली
 * स्वायत्त परिधीय संचालन

बाहरी संबंध

 * Interrupts Made Easy
 * Interrupts for Microchip PIC Microcontroller
 * IBM PC Interrupt Table
 * University of Alberta CMPUT 296 Concrete Computing Notes on Interrupts, archived from the original on March 13, 2012
 * Arduino Pin change Interrupts - Article by Adityapratap Singh