इंटरप्ट हैंडलर

From Vigyanwiki
Revision as of 11:22, 24 April 2023 by Manidh (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

इंटरप्ट हैंडलर का पारंपरिक रूप हार्डवेयर इंटरप्ट हैंडलर है। डिजिटल लॉजिक्स में लागू विद्युत स्थितियों या निम्न-स्तरीय प्रोटोकॉल से हार्डवेयर व्यवधान उत्पन्न होता हैI सामान्य रूप से अवरोध वैक्टर की हार्ड-कोडेड तालिका के माध्यम से भेजा जाता हैI अतुल्यकालिक रूप से सामान्य निष्पादन स्ट्रीम एक अलग स्टैक का उपयोग करते हुए और इंटरप्ट हैंडलर के निष्पादन की अवधि के लिए स्वचालित रूप से अलग निष्पादन संदर्भ में प्रवेश कराना होता हैI सामान्य तौर पर हार्डवेयर व्यवधान और उनके संचालकों का उपयोग उच्च-प्राथमिकता वाली स्थितियों को संभालने के लिए किया जाता है जिसके लिए केंद्रीय प्रसंस्करण इकाई द्वारा निष्पादित वर्तमान कोड के व्यवधान की आवश्यकता होती है।[1][2]

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

इंटरप्ट हैंडलर में कई प्रकार के कार्य होते हैं जो इस बात पर निर्भर करते हैं कि किस चीज ने इंटरप्ट को ट्रिगर किया और जिस गति से इंटरप्ट हैंडलर अपने कार्य को पूरा करता है। उदाहरण के लिए कंप्यूटर कीबोर्ड पर कुंजी दबाने पर[1]या माउस कंप्यूटिंग उस कॉल इंटरप्ट हैंडलर को ट्रिगर करता है जो कुंजी या माउस की स्थिति को पढ़ता है और संबंधित जानकारी को कंप्यूटर की मेमोरी में कॉपी करता है।[2]

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

इंटरप्ट हैंडलर्स

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

अवरोध संचालक की कार्यगतिविधि अगर सही स्थिति में है तो इस परिस्थिति में अवरोध संचालक प्रणाली के साथ अवरोध संचालक से बाहर निकलना कठिन और सटीक कार्य हैI इसका गलत संचालन व्यवस्था को पूरी तरह से रोक देता है। अवरोध संचालक का औपचारिक सत्यापन काफी कठिन है जबकि परीक्षण आमतौर पर लगातार विफलता की पहचान करता है इस प्रकार अवरोध संचालक में सूक्ष्म और आंतरिक बग अक्सर अंतिम ग्राहक तक सम्प्रेषित किये जाते हैं।

निष्पादन संदर्भ

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

स्टैक स्पेस विचार

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

आवंटित स्टैक जिसे स्टैक ओवरफ्लो के रूप में जाना जाता है सामान्य रूप से हार्डवेयर में नहीं पाया जाता है। यदि स्टैक को किसी अन्य लिखने योग्य मेमोरी क्षेत्र में स्थांतरित किया गया तो हैंडलर सामान्यतया अपेक्षित रूप से क्रियान्वित होता है

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

उच्च थ्रेड काउंट का समर्थन करने वाले सिस्टम में यह बेहतर होता है कि हार्डवेयर इंटरप्ट मैकेनिज्म स्टैक को विशेष सिस्टम स्टैक पर स्विच करता है ताकि किसी भी थ्रेड स्टैक को सबसे खराब स्थिति वाले नेस्टेड इंटरप्ट उपयोग के लिए खाते की आवश्यकता न हो।

समय और संगामिति में प्रतिबन्ध

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

आधुनिक ऑपरेटिंग सिस्टम में विभाजित हैंडलर

कई ऑपरेटिंग सिस्टम में‍—‌माइक्रोसॉफ्ट विंडोज लाइनक्स, यूनिक्स, मैक ओएस व कुछ अन्य ऑपरेटिंग सिस्टम‍—‌इंटरप्ट हैंडलर को दो भागों में बांटा गया हैI फर्स्ट-लेवल इंटरप्ट हैंडलर और सेकेंड-लेवल इंटरप्ट हैंडलर को हार्ड इंटरप्ट हैंडलर्स या फास्ट इंटरप्ट हैंडलर्स (एसएलआईएच) के रूप में भी जाना जाता हैI एसएलआईएच विंडोज़ में स्लो/सॉफ्ट इंटरप्ट हैंडलर्स या आस्थगित प्रक्रिया कॉल के रूप में भी जाना जाता है।

ऍफ़एलआईएच 'इंटरप्ट रूटीन' के समान न्यूनतम प्लेटफॉर्म-विशिष्ट इंटरप्ट हैंडलिंग पर लागू होता है। ऍफ़ एल आई एच का कार्य इंटरप्ट को जल्दी से सर्विस करना है या विशिष्ट महत्वपूर्ण जानकारी को रिकॉर्ड करना है जो केवल इंटरप्ट के समय उपलब्ध है और आगे लंबे समय तक चलने वाले इंटरप्ट हैंडलिंग के लिए एलएसआईएच प्रणाली का क्रियान्वन और निष्पादन करता हैI

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

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

एसएलआईएच एक प्रक्रिया के समान लंबे व्यवधान प्रसंस्करण कार्यों को पूरा करता है। एसएलआईएच के पास या तो प्रत्येक हैंडलर के लिए एक समर्पित कर्नेल थ्रेड है या कर्नेल वर्कर थ्रेड्स के एक पूल द्वारा निष्पादित किया जाता है। ये थ्रेड्स ऑपरेटिंग सिस्टम में तब तक कार्य करते हैं जब तक इंटरप्ट के लिए प्रोसेसिंग करने के लिए प्रोसेसर का समय उपलब्ध न हो। एसएलआईएच के पास लंबे समय तक चलने वाला निष्पादन समय हो सकता है और इस प्रकार आमतौर पर थ्रेड्स और प्रक्रियाओं के समान ही निर्धारित किया जाता है।

यह भी देखें

संदर्भ

  1. 1.0 1.1 "The Linux Kernel Module Programming Guide, Chapter 12. Interrupt Handlers". The Linux Documentation Project. May 18, 2007. Retrieved February 20, 2015.
  2. 2.0 2.1 Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman (January 27, 2005). "Linux Device Drivers, Chapter 10. Interrupt Handling" (PDF). O'Reilly Media. Retrieved February 20, 2015.