6
我在閱讀「Linux設備驅動程序,第3版」,並發現了一些我無法理解的內容。兩臺設備如何共享相同的主要次要設備編號?
第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)都有一個克隆,同樣重要 - 分鐘,但不同的名稱和類型。我認爲作者說「主號碼錶示設備類別,次號碼錶示設備索引,所以Major-Minor標識一個獨特的設備」
現在我很困惑。兩臺設備如何共享相同的主要未成年人?設備號碼是什麼?
糾正我,如果我錯了..在此先感謝。
所以他們是完全不同的文件關聯不同的設備?我也在LDD3中發現了這個問題,「**現代Linux內核允許多個驅動程序共享主要數字,但是您將看到的大多數設備仍然按照一個主要單一驅動程序的原則組織**:如果是,內核如何爲設備選擇正確的驅動程序? – kumo
@Shello,首先,這已經過時了,現在動態分配更爲普遍。其次,更準確地說,一對一和一對一對一的驅動程序(也就是說,你可以認爲類型是主要的一部分) – bdonlan