Câu trả lời:
Một điều khiển thiết bị là một phần của phần mềm hoạt động hoặc điều khiển một loại đặc biệt của thiết bị. Trên các hệ điều hành hạt nhân hiện đại, nguyên khối , đây thường là một phần của kernel. Nhiều hạt nhân nguyên khối, bao gồm cả Linux, có thiết kế mô-đun, cho phép các mô-đun thực thi được tải trong thời gian chạy. Trình điều khiển thiết bị thường sử dụng tính năng này, mặc dù không có gì ngăn cản trình điều khiển thiết bị được biên dịch thành hình ảnh hạt nhân.
Một tập tin thiết bị là một giao diện cho một trình điều khiển thiết bị xuất hiện trong một hệ thống tập tin như thể nó là một tập tin bình thường. Trong các hệ điều hành giống Unix, chúng thường được tìm thấy trong /dev
thư mục và còn được gọi là các nút thiết bị . Một tệp thiết bị có thể đại diện cho các thiết bị ký tự , phát ra một luồng dữ liệu một ký tự tại một thời điểm hoặc chặn các thiết bị cho phép truy cập ngẫu nhiên vào các khối dữ liệu.
Các nút thiết bị được tạo bởi mknod
cuộc gọi hệ thống. Tài nguyên hạt nhân được hiển thị bởi nút thiết bị được xác định bởi một số chính và phụ . Thông thường, số chính xác định trình điều khiển thiết bị và số phụ xác định một thiết bị cụ thể mà trình điều khiển điều khiển.
Tệp thiết bị dường như chứa gì phụ thuộc vào những gì trình điều khiển thiết bị hiển thị thông qua tệp thiết bị. Ví dụ: tệp thiết bị ký tự đại diện cho chuột, /dev/input/mice
hiển thị chuyển động của chuột dưới dạng luồng ký tự, trong khi tệp thiết bị khối đại diện cho đĩa cứng , chẳng hạn như /dev/sda
hiển thị các vùng bộ nhớ có thể định địa chỉ của thiết bị. Một số tệp thiết bị cũng nhận đầu vào, cho phép các ứng dụng không gian người dùng giao tiếp với thiết bị bằng cách ghi vào tệp thiết bị của thiết bị.
/dev/input/mice
hiển thị chuyển động của chuột dưới dạng luồng ký tự, trong khi thiết bị khối đại diện cho đĩa cứng, chẳng hạn như /dev/sda1
hiển thị các vùng bộ nhớ có thể định địa chỉ.
thêm vào những gì Thomas Nyman nói,
trước khi sử dụng bất kỳ thiết bị nào, nó phải được gắn vào các đối tượng hệ thống tập tin, vì mọi thứ trong linux là một tập tin, một số thiết bị bên trong được tự động gắn vào như usb, đĩa cứng, v.v.
để các thiết bị mới tương tác với hệ thống, nó có trình điều khiển thiết bị một chương trình phần mềm sử dụng tệp thiết bị.
vì vậy về cơ bản tập tin thiết bị cung cấp một giao diện cho trình điều khiển thiết bị. bạn có thể viết trình điều khiển thiết bị của riêng bạn trong linux bằng c.