ऑपरेटिंग सिस्टम के संदर्भ में व्यवधान का क्या मतलब है?


9

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

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

मैं बस कुछ बड़ी तस्वीर समझ के लिए देख रहा हूँ।

जवाबों:


8

जब OS एक प्रक्रिया जैसे "init" चलाता है, तो यह अन्य उप-प्रणालियों / डिवाइस प्रबंधकों आदि को सिग्नल भेज देता था, जैसे मेमोरी, I / O डिवाइस, इत्यादि। बाधा प्रोसेसर को बताने का एक तरीका है। OS कि यह तैयार है, या इसके पास नया इनपुट है, आदि तो कुछ समय के दौरान, ओएस सब-सिस्टम के तैयार होने की प्रतीक्षा कर रहा है, और इन उप-प्रणालियों से एक बाधा बिल्कुल इंगित करेगा। तो यह है कि क्या "घटना" से संबंधित है।

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


4

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

घटनाओं का क्रम आमतौर पर इस तरह होता है:

  1. हार्डवेयर प्रोसेसर के लिए एक बाधा का संकेत देता है
  2. प्रोसेसर रुकावट को नोटिस करता है और वर्तमान में चल रहे सॉफ़्टवेयर को निलंबित करता है
  3. प्रोसेसर ओएस में मिलान बाधित हैंडलर फ़ंक्शन के लिए कूदता है
  4. इंटरप्ट हैंडलर अपना कोर्स चलाता है और इंटरप्ट से लौटता है
  5. प्रोसेसर फिर से शुरू होता है, जहां पहले से चल रहे सॉफ़्टवेयर में इसे छोड़ दिया गया था

ऑपरेटिंग सिस्टम के लिए सबसे महत्वपूर्ण अवरोध टाइमर टिक इंटरप्ट है। टाइमर टिक बाधा ओएस को समय-समय पर वर्तमान में चल रही उपयोगकर्ता प्रक्रिया से नियंत्रण वापस पाने की अनुमति देता है। OS फिर किसी अन्य प्रक्रिया को शेड्यूल करने, उसी प्रक्रिया पर वापस जाने, हाउसकीपिंग करने आदि का निर्णय ले सकता है। टाइमर टिक इंटरप्ट प्रीमिटिव मल्टीटास्किंग की अवधारणा के लिए आधार प्रदान करता है।


4

एक रुकावट एक "असामान्य" घटना होती है , जो कुछ और होने की परवाह किए बिना, तुरंत संसाधित होने की आवश्यकता होती है । मैं उद्धरणों में "असामान्य" कहता हूं, क्योंकि वे आवश्यक रूप से अप्रत्याशित या खराब नहीं हैं, लेकिन सीपीयू के दृष्टिकोण से "असामान्य" हैं क्योंकि वे "बस होते हैं" जबकि यह कोड निष्पादित करने में व्यस्त है जो असंबंधित हो सकता है।

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

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

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

तो अनिवार्य रूप से, हाँ, ओएस बाधित द्वारा संचालित है। एक "अमूर्त" ओएस बूटस्ट्रैप को मशीन को "सामान्य ऑपरेशन" स्थिति में और कुछ बिंदु पर "सामान्य" प्रक्रिया के लिए नियंत्रण से बाहर कर देता है। सामान्य परिस्थितियों में, ओएस तब केवल व्यवधानों को नियंत्रित करके नियंत्रण हासिल करेगा; लेकिन जब से एक रुकावट के बिना बहुत दिलचस्प कुछ नहीं होता है, तो मूल रूप से ओएस के पास हर समय सब कुछ का नियंत्रण होता है।


3

ऑपरेटिंग सिस्टम इंटरप्ट से संचालित होता है। इस का मतलब है कि:

यदि निष्पादित करने के लिए कोई प्रक्रिया नहीं है, तो कोई I / O डिवाइस सेवा करने के लिए नहीं है, और कोई भी उपयोगकर्ता जिस पर प्रतिक्रिया करने के लिए है, एक ऑपरेटिंग सिस्टम चुपचाप बैठ जाएगा, कुछ होने की प्रतीक्षा कर रहा है। घटनाओं को लगभग हमेशा एक बाधा या जाल की घटना से संकेत मिलता है, एक जाल एक हार्डवेयर अवरोध उत्पन्न होता है जब एक अवैध निर्देश दिया जाता है, और फिर यह ओएस पर नियंत्रण लौटाता है।

अमान्य निर्देश का एक उदाहरण तब होता है जब कोई प्रोग्राम बिना अनुमति के किसी अन्य प्रोग्राम की मेमोरी स्पेस तक पहुंचने का प्रयास कर रहा होता है।


व्यवधान हमेशा कुछ बुरा या अमान्य नहीं होता है जैसा आपने वर्णित किया है

मैं जाल के अवरोध का वर्णन कर रहा था, जहाँ तक मुझे पता है कि कुछ त्रुटि या अमान्य निर्देशों के कारण यह उत्पन्न हुआ था। मुझे सूचित करने के लिए thanx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.