Hệ điều hành có thể ghi dữ liệu trực tiếp lên bus PCI không và card mạng có thể gửi dữ liệu qua cáp không? Trình điều khiển làm gì và điều đó khác nhau như thế nào đối với mỗi chipset card mạng?
Hệ điều hành có thể ghi dữ liệu trực tiếp lên bus PCI không và card mạng có thể gửi dữ liệu qua cáp không? Trình điều khiển làm gì và điều đó khác nhau như thế nào đối với mỗi chipset card mạng?
Câu trả lời:
Mỗi chip mạng sẽ có các thanh ghi I / O khác nhau, bộ đệm ánh xạ bộ nhớ, cách phát hiện tốc độ giao diện và tất cả các loại khác biệt kỹ thuật cơ bản khác.
Công việc của trình điều khiển chỉ đơn giản là trừu tượng hóa những khác biệt đó để O / S có API chung để di chuyển các gói từ các lớp mạng cao hơn xuống phần cứng (và ngược lại).
Nói chung, bất kỳ trình điều khiển thiết bị nào cũng có giao diện giữa chế độ xem 'trừu tượng' về phần cứng mà hệ điều hành có và chipset 'vật lý' thực sự tồn tại trên bo mạch.
Lớp trừu tượng này cho phép phần cứng khác nhau từ các nhà cung cấp khác nhau được sử dụng trong nhiều hệ điều hành khác nhau. Nó cũng cho phép các thiết bị 'phần mềm' (như thiết bị quay vòng mạng) được triển khai mà không có bất kì phần cứng cơ bản để kiểm soát.
Để tìm chính xác những gì một trình điều khiển cụ thể làm, bạn sẽ cần phải hiểu các biểu dữ liệu cho các chip mà nó điều khiển.
Điều đó có thể, nhưng vấn đề với đó là mỗi nhà sản xuất chipset NIC thiết kế các thiết bị của họ khác nhau và do đó một mô hình của NIC có thể yêu cầu bạn viết tại một địa chỉ và một mô hình khác có thể yêu cầu bạn viết tại một địa chỉ khác. Ngoài việc xem xét các bảng dữ liệu chipset của NIC như @Roddy gợi ý để tìm hiểu chính xác cách họ đi về nó, bạn cũng có thể xem nguồn trình điều khiển Linux cho chipset đó.
Một số NIC tiên tiến sử dụng DMA và như vậy để vận hành khá nhiều cách bạn nói. Người lái xe trong trường hợp đó thực sự không làm được gì nhiều.
Dễ dàng cập nhật một hệ điều hành với trình điều khiển mới hơn là đi xung quanh và cập nhật mọi chương trình duy nhất sử dụng một NIC.
Mỗi phần cứng khác với các phần khác cùng loại, ngay cả khi tuân thủ các tiêu chuẩn. Đó là lý do tại sao bạn cần trình điều khiển; để đơn giản hóa việc sử dụng phần cứng bằng cách cung cấp một giao diện chung. Bạn hỏi liệu hệ điều hành có thể đơn giản ghi vào đầu ra không. Có nó có thể; nó làm điều này thông qua trình điều khiển của nó.
Cụ thể hơn về card mạng, bạn hỏi liệu HĐH có thể ghi vào bus PCI, thông qua thẻ, ra cáp và qua Internet không. Vấn đề với câu hỏi đó là bạn không quen với mạng. Đó là một điều phức tạp ngoài việc gửi điện áp qua dây dẫn. Bạn đang quên về tất cả các công việc cho phép một web phức tạp như vậy hoạt động giống như tất cả các địa chỉ và như vậy, nó không chỉ mã hóa hoặc giải mã tín hiệu điện.
Bạn sẽ muốn nhìn qua Mô hình OSI để tìm hiểu làm thế nào mạng hoạt động. Nó phân tách công việc chuyển dữ liệu giữa các máy tính (hoặc các thiết bị khác) thành bảy lớp khác. Mỗi lớp chịu trách nhiệm cho phần riêng của mình; HĐH đóng vai trò là trình điều khiển và thẻ.