Thuật ngữ "HĐH" có thể có nghĩa là nhiều thứ.
Mặc dù trong hầu hết các hệ điều hành, kernel là đoạn mã đang quản lý và "chạy" mọi thứ và phân xử truy cập vào phần cứng, nó thường không thể tự mình làm bất cứ điều gì thú vị - công việc của nó là cung cấp một khung cho các ứng dụng chạy " trên đầu trang "nếu nó. Vì vậy, định nghĩa của nhiều người về HĐH bao gồm các tiện ích, hệ vỏ và chương trình tạo nên một môi trường tiêu chuẩn, quen thuộc.
Trình điều khiển phụ thuộc vào kernel và có lẽ chính xác nhất để nói rằng họ "mở rộng" nó, giống như các plugin. Linux hỗ trợ khái niệm "mô-đun hạt nhân có thể tải" - và tất cả các trình điều khiển thiết bị có thể là mô-đun hạt nhân có thể tải. Cũng có thể xây dựng một kernel trong đó một hoặc nhiều mô-đun này được "tích hợp" và không tách rời khỏi kernel. Vì vậy, bạn thực sự có thể xây dựng một hạt nhân "không điều tiết" trong Linux và nó sẽ không thể hỗ trợ bất kỳ phần cứng nào ngoài các mô-đun bạn tích hợp trong nó.
Tôi ít quen thuộc với sự can đảm của Windows, nhưng tôi tin ngoại trừ một vài trình điều khiển "miniport", tất cả các trình điều khiển là các tệp bên ngoài được tải khi khởi động. Nếu bạn đào sâu một chút vào việc tạo các dịch vụ trên Windows, có vẻ như trình điều khiển thực sự chỉ là các dạng dịch vụ đặc biệt trong Windows. Một số chương trình cài đặt trình điều khiển để truy cập phần cứng ở mức độ thấp, nhưng không nhất thiết phải lái thiết bị, đây thường là các trình điều khiển "Không cắm và chạy" trong Trình quản lý thiết bị. Do đó, dường như các trình điều khiển phục vụ chức năng tương tự về mặt khái niệm như các mô-đun hạt nhân có thể tải trong Linux.
Nói một cách đơn giản, chúng là một phần của HĐH, vì chúng thực sự không thể được sử dụng nếu không có HĐH và không hữu ích trừ khi HĐH được khởi động, nhưng dòng được vẽ khá tùy tiện trong mọi trường hợp.