ड्राइवरों के लिए फ़ाइल संचालन का पता लगाने के लिए मेजर नंबर और माइनर नंबर का उपयोग कैसे किया जाता है?


0

मैं डिवाइस ड्राइवर पर शुरुआत कर रहा हूं ...।

मैं जानना चाहूंगा कि प्रमुख और मामूली संख्याओं का उपयोग करके डिवाइस फ़ाइलों और ड्राइवरों से फ़ाइल संचालन कैसे स्थित है?


1
यह समझना मुश्किल है कि आप क्या पूछ रहे हैं। यदि यह संबंधित प्रोग्रामिंग है, तो आपको स्टैकओवरफ़्लो में जाने की आवश्यकता हो सकती है। कृपया अधिक जानकारी जोड़ें।
user 99572 is fine

वास्तव में यह प्रोग्रामिंग से संबंधित नहीं है ..... मैं केवल यह जानना चाहता हूं कि फ़ाइल संचालन करने के लिए बैक-एंड चरण क्या हैं।
Rex

जवाबों:


1

यदि आप लिनक्स डिवाइस ड्राइवरों को प्रोग्राम करना सीख रहे हैं, तो मुझे आपको बताना चाहिए कि इस विषय पर एक मुफ्त ईबुक है।

लिनक्स डिवाइस ड्राइवर्स, तीसरा संस्करण

LDD3 अध्याय 3: चार ड्राइवर

हमारे जवाब सिर्फ लिंक से अधिक प्रदान करना चाहिए। तो यहाँ एक प्रासंगिक अर्क है।

crw-rw-rw- 1 root root 1, 3 Apr 11 2002 null
crw------- 1 root root 10, 1 Apr 11 2002 psaux
crw------- 1 root root 4, 1 Oct 28 03:04 tty1
crw-rw-rw- 1 root tty 4, 64 Apr 11 2002 ttys0
crw-rw---- 1 root uucp 4, 65 Apr 11 2002 ttyS1
crw--w---- 1 vcsa tty 7, 1 Apr 11 2002 vcs1
crw--w---- 1 vcsa tty 7, 129 Apr 11 2002 vcsa1
crw-rw-rw- 1 root root 1, 5 Apr 11 2002 zero

परंपरागत रूप से, प्रमुख संख्या डिवाइस से जुड़े ड्राइवर की पहचान करती है। के लिये   उदाहरण,   / Dev / बातिल   तथा   / Dev / शून्य   दोनों चालक 1 द्वारा प्रबंधित हैं, जबकि आभासी चोर-   तलवों और सीरियल टर्मिनलों का प्रबंधन चालक 4 द्वारा किया जाता है; इसी तरह, दोनों   vcs1   तथा   vcsa1   डिवाइस ड्राइवर द्वारा प्रबंधित किए जाते हैं 7. आधुनिक लिनक्स कर्नेल कई ड्राइवरों को अनुमति देते हैं   प्रमुख संख्या साझा करें, लेकिन अधिकांश डिवाइस जो आप देखेंगे वह अभी भी पर आयोजित किए गए हैं   एक प्रमुख-एक-चालक सिद्धांत।

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


धन्यवाद .... इसका सहायक .... क्या आप मुझे बता सकते हैं कि कर्नेल ड्राइवर को एक ही प्रमुख संख्या के साथ कैसे अलग करेगा?
Rex

पढ़ते रहिये। "int register_chrdev_region (dev_t पहला, अहस्ताक्षरित int count, char * name); यहां, पहले उस श्रेणी का आरंभिक डिवाइस नंबर है जिसे आप आवंटित करना चाहते हैं। पहले की मामूली संख्या का हिस्सा अक्सर 0 होता है, लेकिन उस प्रभाव की कोई आवश्यकता नहीं होती है
sourcejedi

ठीक है ... जवाब के लिए धन्यवाद ... :)
Rex
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.