Tôi đang đọc "trình điều khiển thiết bị Linux, ấn bản thứ ba" và tìm thấy thứ tôi không thể hiểu được.Làm cách nào để hai thiết bị có cùng số thiết bị lớn?
tại Chương 3.2, tác giả cho biết:
Theo truyền thống, số lượng lớn xác định trình điều khiển đi kèm với thiết bị. Số phụ được sử dụng bởi hạt nhân để xác định chính xác thiết bị nào đang được giới thiệu.
Sau đó, tôi đã cố gắng "ls -l/dev" để có một cái nhìn, tôi thấy một số điều khác thường:
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
Các thiết bị này (ram1-ram5) tất cả đều có một bản sao, với cùng lớn -minor, nhưng tên và loại khác nhau. Tôi nghĩ tác giả đã nói rằng "số chính nghĩa là lớp thiết bị và số nhỏ nghĩa là chỉ mục thiết bị. Vì vậy, số nhỏ chỉ định một thiết bị duy nhất."
Bây giờ tôi đang bối rối. Làm thế nào đến hai thiết bị có thể chia sẻ cùng một trẻ vị thành niên? Chính xác số thiết bị là gì?
Sửa lỗi nếu tôi đã sai .. Cảm ơn trước.
để chúng là các tệp hoàn toàn khác nhau liên kết với các thiết bị khác nhau? Tôi cũng tìm thấy điều này trong LDD3, "** Hạt nhân Linux hiện đại cho phép nhiều trình điều khiển chia sẻ số lớn, nhưng hầu hết các thiết bị mà bạn sẽ thấy vẫn được sắp xếp theo nguyên tắc một nguyên tắc chính. **" :, nếu có, hạt nhân có thể chọn trình điều khiển phù hợp cho thiết bị như thế nào? – kumo
@Shello, trước tiên, đây là lỗi thời, phân bổ động là phổ biến hơn nhiều trong những ngày này. Thứ hai, nó chính xác hơn khi nói, một chính-và-loại-cặp-một-driver (ví dụ, bạn có thể xem xét các loại là một phần của chính) – bdonlan