मैं एक सामान्य यूएसबी कीबोर्ड का उपयोग कर रहा हूं, लिनक्स 2.6.27 gnome डेस्कटॉप, gnome-terminal और bash shell के साथ। मुझे यह जानने में दिलचस्पी है कि सॉफ्टवेयर में क्या होता है। मेरे कीबोर्ड के विशेष पात्रों को वर्णों में कुछ एन्कोडिंग के साथ व्याख्या कैसे किया जाता है और चरित्र चित्र कहां से आते हैं?जब मैं कीबोर्ड पर कुंजी दबाता हूं और यह एक खोल पर दिखाता है तो क्रियाओं का वास्तविक पथ क्या होता है?
जब मैं कीबोर्ड पर कुंजी दबाता हूं और यह एक खोल पर दिखाता है तो क्रियाओं का वास्तविक पथ क्या होता है?
उत्तर
यूएसबी ड्राइवरों के साथ लिनक्स इनपुट परत कीबोर्ड से मूल रूप से "कुंजी 1 नीचे" "कुंजी 1 यूपी" प्राप्त करती है।
एक्स स्कैनकोड को कीकोड और एक्स इनपुट ईवेंट में कनवर्ट करने के लिए अपने कीमैप का उपयोग करता है।
जीटीके इनपुट विधि इनपुट घटनाओं के अनुक्रम को मिश्रित यूनिकोड वर्णों में परिवर्तित करती है।
जीनोम-टर्मिनल इन्हें यूटीएफ -8 में खोल के लिए एन्कोड करता है।
शैल परवाह नहीं है। यह सिर्फ जानता है कि यह एक मल्टीबाइट एन्कोडिंग से निपट रहा है।
शैल टीटीवी के माध्यम से वापस multibyte-encoded पाठ echoes।
जीनोम टर्मिनल आने वाले पाठ को डीकोड करता है और यूनिकोड कोड बिंदु निर्धारित करता है।
जीनोम टर्मिनल जीटीके + सुविधाओं का उपयोग कर पात्र खींचता है।
जीटीके + टेक्स्ट को प्रस्तुत करने के लिए पेंगो का उपयोग करता है, और एक्स लाइब्रेरी को स्क्रीन पर पिक्सल खींचने के लिए कॉल करता है।
एक्स सर्वर स्क्रीन बफर में वर्ण खींचता है और वीडियो कार्ड उन्हें प्रदर्शित करता है।
छवि नीचे है और इंटरनेट पर कोई प्रतिलिपि नहीं है। :( –
परतों में इसे देखें। सबसे पहले हार्डवेयर है, और लिनक्स कर्नेल में एक डिवाइस ड्राइवर के पास डिवाइस में स्थिति रजिस्टरों के माध्यम से कुंजीपटल को नियंत्रित करने और प्रतिक्रिया देने और हैंडलर को बाधित करने के लिए विशिष्ट विधियां होंगी, उदाहरण के लिए।
अगला लिनक्स कर्नेल है, जिसमें बूट समय पर पता लगाए गए हार्डवेयर के प्रत्येक टुकड़े के लिए उपयुक्त ड्राइवर लोड करने की कुछ विधि होगी। एक बार लोड हो जाने पर, डिवाइस ड्राइवर कुछ कर्नेल-ड्राइवर इंटरफ़ेस के अनुरूप होता है, जो डिवाइस से डेटा को कर्नेल और इसके विपरीत प्रदान करता है।
कर्नेल के बाहर, कुछ स्तर पर, डिवाइस ड्राइवर और हार्डवेयर दिखाई दे रहे हैं, आमतौर पर/dev निर्देशिका में एक सूची के रूप में। एक टर्मिनल एमुलेटर की तरह सॉफ़्टवेयर, जिसे किसी डिवाइस का उपयोग करने की आवश्यकता होती है, उसे/dev में प्रविष्टि के माध्यम से डिवाइस तक पहुंच प्राप्त होगी।
उपयोगकर्ता-स्तरीय एप्लिकेशन और डिवाइस के बीच संचार अब पढ़ने/लिखने और ioctl संचालन की श्रृंखला के माध्यम से होता है। कर्नेल में ये जाल (कुछ विवरण के लिए इनके लिए मैन्युअल पेज देखें), जिस बिंदु पर कर्नेल ऊपर लोड किए गए डिवाइस ड्राइवर के साथ संचार करता है।
टर्मिनल एमुलेटर वर्णों को प्रदर्शित करेगा जैसे आप उन्हें टाइप करते हैं (ज्यादातर मामलों में) और जब वे एप्लिकेशन के आधार पर विभिन्न स्थानों पर स्थित फ़ॉन्ट्स का उपयोग करके डिवाइस (ज्यादातर मामलों में) से प्राप्त होते हैं। (मैं यहां सामान्यताओं में बात कर रहा हूं क्योंकि मुझे विशेष रूप से जीनोम नहीं पता)।
क्या इससे मदद मिलती है?
- 1. कीबोर्ड दिखाता है जब कीबोर्ड
- 2. जब मैं ब्राउज़र बैक बटन दबाता हूं तो क्या होता है?
- 3. आईओएस: जब कीबोर्ड दिखाता है तो UITableView एनीमेशन अक्षम करें
- 4. कीबोर्ड शो तब दिखाता है जब MFMessageComposeViewController
- 5. जब मैं TortoiseSVN लॉग में "दोष अंतर" पर क्लिक करता हूं तो क्या होता है?
- 6. जब मैं एक नल पॉइंटर पर "हटाएं" कहता हूं तो "ऑपरेटर डिलीट" क्यों होता है?
- 7. जब जावा प्रोग्राम शुरू होता है तो क्या होता है?
- 8. एचटीएमएल अगर मैं टैब दबाता हूं तो फोकस आगे बढ़ेगा?
- 9. जब मैं एंड्रॉइड में edittextview पर क्लिक करता हूं तो कीबोर्ड नहीं दिखाया जाता है?
- 10. जब मैसेज() एक जेएमएसएक्सप्शन फेंकता है तो जेएमएस कतार पर क्या होता है?
- 11. क्या होता है जब आप 'अगर कुंजी में कुंजी'
- 12. 'वास्तविक समय' का गठन क्या होता है
- 13. जब उपयोगकर्ता ड्रॉप-डाउन बटन पर क्लिक करता है तो मैं केवल ड्रॉपडाउनलिस्ट शैली कॉम्बोबॉक्स को कैसे खोल सकता हूं?
- 14. एमएसवाईएस खोल पर कुछ - क्या यह बदलने योग्य है?
- 15. जब मैं स्थानीय रूप से पृष्ठ चलाता हूं तो Google Analytics का क्या होता है?
- 16. आईपैड "कीबोर्ड को खारिज करें" बटन (निचला दाएं), यह कब होता है जब मैं यह महसूस करता हूं? क्या समारोह मुझे बताता है कि इसे दबाया गया था?
- 17. कभी-कभी जब मैं अपने बैश प्रॉम्प्ट पर कमांड पेस्ट करता हूं तो यह निष्पादित हो जाता है भले ही मैं एंटर दबाता हूं?
- 18. जब मैं राज्य परिवर्तन पर एक संवाद दिखाता हूं, तो कैसे ठीक किया जाए, JCheckbox दो बार राज्य बदलता है?
- 19. जब मैं एक सूची क्रमबद्ध करता हूं तो इसके इटरेटर के साथ क्या होता है?
- 20. जब मैं एक असेंबली लोड करता हूं तो क्या होता है?
- 21. जब लिंक में पाउंड "#" साइन होता है तो यह
- 22. जब मैं अपने यूआईएसक्रोलव्यू पर स्क्रॉल करने का प्रयास करता हूं, तो यह उसी स्थान पर वापस आता है जो
- 23. जब मैं svn diff चलाता हूं तो 'एमएम' का अर्थ क्या होता है?
- 24. अगर मैं अपना टर्मिनल बंद करता हूं तो हेरोकू पर एक रेक कार्य शुरू होता है
- 25. जब मैं पाइथन दुभाषिया में ऊपर या नीचे तीर कुंजी दबाता हूं तो मुझे^[[ए या^[[बी इतिहास के बजाय?
- 26. .gitignore दिखाता है जब मैं गिट स्थिति
- 27. जब मैं नेटवर्क केबल अनप्लग करता हूं तो सॉकेट के साथ क्या होता है?
- 28. जब मैं '।' दबाता हूं तो मुझे लाइब्रेरी के तरीकों को दिखाने के लिए गेनी कैसे प्राप्त कर सकता हूं। कुंजी?
- 29. क्या होता है जब एक .NET अनुप्रयोग शुरू होता है?
- 30. जब मैं गलत पासवर्ड टाइप करता हूं तो क्या होता है?
वाह:
यहाँ एक चित्र में अपने प्रयास है।इसका उत्तर आसानी से इस्तेमाल किए गए विस्तार स्तर के आधार पर पुस्तकें या किताबों के अलमारियों को भर सकता है। – unwind
@unwind सहमत हुए। यह मुझे एक नेटवर्किंग कंपनी में मेरे सामने आने के बाद, मेरे पसंदीदा साक्षात्कार प्रश्न की याद दिलाता है। क्या होता है जब आप अपना ब्राउज़र खोलते हैं और यूआरएल पर नेविगेट करते हैं? –