2010-07-05 12 views
17

क्या वे बार-बार स्थिति की जांच करते हैं और स्थिति पूरी होने पर निष्पादित करते हैं। पूर्व, ओएस कैसे जानता है कि एक यूएसबी डिवाइस प्लग इन होने पर, या जब आप ईमेल प्राप्त करते हैं तो एमएसएन वास्तव में कैसे जानता है। यह कैसे काम करता है?घटना श्रोताओं कैसे काम करते हैं?

धन्यवाद

उत्तर

31

निम्न स्तर पर, ओएस कर्नेल कुछ होता है जब "जानता है", क्योंकि डिवाइस में सवाल सीपीयू को एक हार्डवेयर बाधा भेजता है।

तो जब नेटवर्क पैकेट आता है, तो नेटवर्क नियंत्रक एक बाधा भेजता है, और ओएस कर्नेल उचित के रूप में प्रतिक्रिया देता है।

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

+2

+1 सॉफ़्टवेयर स्तर पर हार्डवेयर स्तर और ईवेंट श्रोताओं पर इंटरप्ट्स के बीच अंतर को स्पष्ट रूप से समझाते हुए। – Pete

1

निर्भर करता है।

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

हो जाता है

ओएस ow वास्तव में जानता है एक हार्डवेयर अंतरायन thats (कोई मुझे सही कर अगर मैं गलत हूँ) जो कर्नेल/USB द्वारा नियंत्रित किया जाता चालक। अक्सर उच्च स्तरीय सिस्टम (उदा। डीबीयूएस) होता है जो इसके लिए सुनते हैं और ईवेंट श्रोताओं को सुनते हैं।

या जब आप ईमेल प्राप्त करते हैं तो एमएसएन वास्तव में कैसे जानता है।

मुझे लगता है कि मतदान मेल बॉक्स (जैसे पॉप 3 से अधिक) हर एक्स सेकंड और संदेश गणना की जाँच का एक सरल बात है (हालांकि गलत हो सकता है)।

एनोन। हार्डवेयर इंटरप्ट्स और सॉफ़्टवेयर स्तरीय ईवेंट के बीच अंतर को अच्छी तरह से सुनता है।

1

Interrupts पर एक नज़र यह समझाने चाहिए कि कैसे हार्डवेयर कुछ शुरू की 'घटनाओं'

0

कार्यक्रम ईमेल चेकर्स की तरह आम तौर पर पृष्ठभूमि सेवाओं है कि उनके ई-मेल सर्वर हर एक्स अवधि नई मेल के लिए जाँच क्वेरी चल रहा हो जाएगा ले लो । ऐसा करने के अन्य तरीके हैं, लेकिन सॉफ़्टवेयर स्तर की घटनाओं के लिए, यह लगभग निश्चित रूप से ऐसा कुछ होने जा रहा है।

संबंधित मुद्दे