Trình điều khiển Linux hoạt động như thế nào và tôi tìm thấy chúng ở đâu? (đặc biệt là trình điều khiển NIC)


11

Tôi tự hỏi làm thế nào một trình điều khiển hoạt động trong Linux. Là trình điều khiển một tập tin duy nhất có thể được chỉnh sửa? Có một danh sách các trình điều khiển hiện tại đang sử dụng hoặc có một nơi khác để tìm thấy chúng cho mỗi thiết bị?

Tôi đặc biệt thích tìm hiểu về trình điều khiển bộ điều hợp mạng của tôi.

Nếu bạn biết một số tài liệu tốt ở đâu, tôi cũng rất thích đọc nó.

Câu trả lời:


6

Trình điều khiển rất giống với bất kỳ chương trình nào khác, chúng có thể bao gồm nhiều tệp nguồn. Trình điều khiển thiết bị Linux có thể được biên dịch trực tiếp vào kernel hoặc mô-đun kernel. Các mô-đun hạt nhân có lợi ích là có thể được tải động (tức là bạn không cần phải biên dịch một hạt nhân mới để sử dụng chúng).

Rõ ràng bạn có thể luôn luôn nhìn vào mã nguồn Linux, nhưng đó có thể là một nhiệm vụ khó khăn lúc đầu. Tuy nhiên, như với bất cứ điều gì trong trình điều khiển Linux là các tập tin. Điều đó có nghĩa là các chương trình khác truy cập chúng thông qua giao diện VFS. Ví dụ: bạn có thể điều khiển CDROM thông qua ioctl()các cuộc gọi bằng tệp thiết bị của nó.

Tôi rất khuyên bạn nên kiểm tra Trình điều khiển thiết bị Linux . Nó có sẵn miễn phí và sẽ trả lời câu hỏi của bạn. Cụ thể, bạn có thể đọc qua chương 2, hướng dẫn bạn cách tạo mô-đun "Hello, Kernel" đơn giản. Nó có thể là nhiều hơn nhiều so với bạn đang yêu cầu, nhưng bạn có thể đọc các bit và phần bạn quan tâm. Và nó miễn phí. ; P


3

Trình điều khiển Linux được xây dựng với kernel, được biên dịch trong hoặc dưới dạng một mô-đun. Ngoài ra, trình điều khiển có thể được xây dựng dựa trên các tiêu đề kernel trong cây nguồn. Bạn có thể xem danh sách các mô-đun hạt nhân hiện đang được cài đặt bằng cách nhập lsmodvà nếu được cài đặt, hãy xem hầu hết các thiết bị được kết nối qua xe buýt bằng cách sử dụng lspci.

Nếu phiên bản kernel hiện tại không có hỗ trợ trình điều khiển cho NIC của bạn, bạn sẽ cần tìm trình điều khiển tại nhà cung cấp và bạn sẽ cần biên dịch mô-đun hạt nhân từ nguồn (đối với các tiêu đề của kernel).


1

Hầu hết thời gian nếu một cái gì đó như NIC của bạn không tự động hiển thị, bạn cần truy cập trang web của nhà sản xuất phần cứng và xem liệu họ có phiên bản linux không.

Nói một cách tổng quát hơn, trình điều khiển linux có xu hướng ở dạng thư viện hoặc mô-đun.

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.