मैं पढ़ रहा हूं "लिनक्स डिवाइस ड्राइवर, तीसरा संस्करण", और कुछ ऐसा मिला जो मुझे समझ में नहीं आया।दो डिवाइस एक ही प्रमुख-मामूली डिवाइस नंबर कैसे साझा करते हैं?
अध्याय 3.2 में, लेखक ने कहा:
परंपरागत रूप से, प्रमुख संख्या डिवाइस से संबद्ध ड्राइवर को पहचानती है। कर्नेल द्वारा मामूली संख्या का उपयोग यह निर्धारित करने के लिए किया जाता है कि वास्तव में कौन सा डिवाइस संदर्भित किया जा रहा है।
तो मैं करने की कोशिश की "ls -l/dev" देखने के लिए, मैं कुछ बात असामान्य पाया: एक ही प्रमुख के साथ
brw-rw---- 1 root disk 1, 1 2011-08-23 23:52 ram1
brw-rw---- 1 root disk 1, 2 2011-08-23 23:52 ram2
brw-rw---- 1 root disk 1, 3 2011-08-23 23:52 ram3
brw-rw---- 1 root disk 1, 4 2011-08-23 23:52 ram4
brw-rw---- 1 root disk 1, 5 2011-08-23 23:52 ram5
...
crw-r----- 1 root kmem 1, 1 2011-08-23 23:52 mem
crw-r----- 1 root kmem 1, 4 2011-08-23 23:52 port
crw-rw-rw- 1 root root 1, 3 2011-08-23 23:52 null
crw-rw-rw- 1 root root 1, 5 2011-08-23 23:52 zero
इन उपकरणों (ram1-ram5) सभी एक क्लोन है, -मिनर, लेकिन अलग नाम और प्रकार। मैंने सोचा था कि लेखक कह रहा था "प्रमुख संख्या का मतलब डिवाइस वर्ग है, और मामूली संख्या का मतलब डिवाइस इंडेक्स है। इसलिए मेजर-माइनर एक अद्वितीय डिवाइस की पहचान करता है।"
अब मैं उलझन में हूं। दो डिवाइस एक ही प्रमुख नाबालिग कैसे साझा कर सकते हैं? डिवाइस नंबर वास्तव में क्या हैं?
अगर मैं गलत था तो मुझे सही करें .. अग्रिम धन्यवाद।
तो वे अलग-अलग उपकरणों को जोड़ने वाली पूरी तरह से अलग फाइलें हैं? मैंने इसे एलडीडी 3 में भी पाया, "** आधुनिक लिनक्स कर्नेल कई ड्राइवरों को बड़ी संख्या में साझा करने की इजाजत देता है, लेकिन अधिकांश डिवाइस जो आप देखेंगे वे अभी भी एक-प्रमुख-एक-चालक सिद्धांत पर व्यवस्थित हैं। **": यदि ऐसा है, कर्नेल डिवाइस के लिए सही ड्राइवर कैसे चुन सकता है? – kumo
@ शेल्लो, सबसे पहले, यह पुराना है, इन दिनों गतिशील असाइनमेंट अधिक आम है। दूसरा, यह कहना अधिक सटीक है, एक-प्रमुख-और-प्रकार-जोड़ी-एक-चालक (यानी, आप इस प्रकार को प्रमुख का हिस्सा मान सकते हैं) – bdonlan