Họ thực sự chỉ là như vậy - giao diện. Được mã hóa bởi một số "chính" và "phụ", chúng cung cấp một hook cho kernel.
Chúng có hai loại (tốt, ba, nhưng các ống được đặt tên nằm ngoài phạm vi của lời giải thích này): Thiết bị nhân vật và Thiết bị khối.
Thiết bị khối có xu hướng là thiết bị lưu trữ, có khả năng đệm đầu ra và lưu trữ dữ liệu để truy xuất sau này.
Thiết bị nhân vật là những thứ như card âm thanh hoặc đồ họa hoặc thiết bị đầu vào như bàn phím và chuột.
Trong mỗi trường hợp, khi kernel tải trình điều khiển chính xác (vào lúc khởi động hoặc thông qua các chương trình như udev ), nó sẽ quét các xe buýt khác nhau để xem liệu có thiết bị nào được xử lý bởi trình điều khiển đó có thực sự có trên hệ thống không. Nếu vậy, nó sẽ thiết lập một thiết bị 'nghe' trên số chính / phụ phù hợp.
(Ví dụ: Bộ xử lý tín hiệu số của thẻ âm thanh đầu tiên được tìm thấy bởi hệ thống của bạn có cặp số chính / phụ là 14/3; số thứ hai là 14,35, v.v.)
Tùy thuộc vào udev để tạo một mục nhập /dev
có tên dsp
là một thiết bị ký tự được đánh dấu chính 14 phụ 3.
(Trong các phiên bản cũ hơn hoặc tối thiểu đáng kể của Linux, /dev/
có thể không được tải động mà chỉ chứa tất cả các tệp thiết bị có thể tĩnh.)
Sau đó, khi chương trình không gian người dùng cố gắng truy cập một tệp được đánh dấu là 'tệp đặc biệt ký tự' với số chính / phụ thích hợp (ví dụ: trình phát âm thanh của bạn đang cố gửi âm thanh kỹ thuật số đến /dev/dsp
), hạt nhân biết rằng dữ liệu này cần phải được truyền qua trình điều khiển mà số chính / phụ được gắn vào; có lẽ nói lái xe biết phải làm gì với nó lần lượt.