2011-08-28 26 views
6

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.

Trả lời

8

mem, port, null, và zero là các thiết bị nhân vật (bằng chứng là c việc niêm yết bắt đầu với). Các thiết bị ramN là các thiết bị khối (do đó là b). Các số chính/số nhỏ cho các thiết bị khối độc lập với các thiết bị ký tự và ngược lại.

+0

để 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

+1

@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

Các vấn đề liên quan