Sự khác biệt giữa tập tin thiết bị và trình điều khiển thiết bị


Câu trả lời:


12

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 /devthư 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 mknodcuộ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/micehiể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/sdahiể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ị.


Vì vậy, tập tin thiết bị là một giao diện giữa trình điều khiển thiết bị và thiết bị ??
MSB

Tập tin thiết bị thực sự chứa gì và nó làm gì ??
MSB

2
@MSB Trong các hệ điều hành giống Unix "Mọi thứ đều là tệp" . Theo nguyên tắc này, các tệp thiết bị là biểu diễn hệ thống tệp của các thiết bị được kết nối với máy tính. Nội dung của chúng phụ thuộc vào những gì trình điều khiển thiết bị phơi bày thông qua chúng. Ví dụ, thiết bị ký tự đại diện cho chuột, /dev/input/micehiể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/sda1hiển thị các vùng bộ nhớ có thể định địa chỉ.
Thomas Nyman

Tệp thiết bị là giao diện giữa các chương trình và trình điều khiển thiết bị. Trình điều khiển thiết bị nằm trong kernel; các chương trình (ứng dụng) nằm trong không gian người dùng. Cách một chương trình có thể truy cập trình điều khiển trong kernel thông qua tệp đặc biệt của thiết bị thích hợp.
mpez0

-2

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.