Đọc đọc The Linux Kernel Driver Interface.
Điều này được viết để giải thích tại sao Linux không có giao diện hạt nhân nhị phân, cũng không có giao diện hạt nhân ổn định. Xin lưu ý rằng bài viết này mô tả các giao diện _in kernel_, không phải hạt nhân cho các giao diện không gian người dùng. Giao diện kernel đến không gian người dùng là giao diện người dùng sử dụng, giao diện syscall. Giao diện đó là _very_ ổn định theo thời gian và sẽ không bị ngắt. Tôi có các chương trình cũ được xây dựng trên hạt nhân trước 0.9something mà vẫn hoạt động tốt trên bản phát hành kernel 2.6 mới nhất. Giao diện này là giao diện mà người dùng và người lập trình ứng dụng có thể tin cậy vào việc ổn định.
Nó phản ánh quan điểm của phần lớn các nhà phát triển hạt nhân Linux: sự tự do để thay đổi chi tiết và API thực hiện trong kernel bất cứ lúc nào cho phép họ phát triển nhanh hơn và tốt hơn nhiều.
Nếu không có hứa hẹn giữ giao diện hạt nhân giống hệt với bản phát hành, không có cách nào cho mô-đun hạt nhân nhị phân như VMWare hoạt động đáng tin cậy trên nhiều hạt nhân. Ví dụ, nếu một số cấu trúc thay đổi trên bản phát hành hạt nhân mới (cho hiệu năng tốt hơn hoặc nhiều tính năng hơn hoặc bất kỳ lý do nào khác), mô-đun VMWare nhị phân có thể gây ra thiệt hại nghiêm trọng khi sử dụng bố cục cấu trúc cũ. Việc biên dịch lại mô-đun từ nguồn sẽ nắm bắt bố cục cấu trúc mới, và do đó có cơ hội làm việc tốt hơn - mặc dù vẫn không phải 100%, trong trường hợp các trường đã bị xóa hoặc đổi tên hoặc cho các mục đích khác nhau.
Nếu một hàm thay đổi danh sách đối số của nó hoặc được đổi tên hoặc làm cách khác không còn khả dụng, thậm chí không biên dịch lại từ cùng một mã nguồn sẽ hoạt động. Module sẽ phải thích nghi với hạt nhân mới. Vì mọi người (nên) có nguồn và (có thể tìm thấy ai đó) có thể sửa đổi nó để phù hợp."Đẩy công việc tới các nút kết thúc" là một ý tưởng chung trong cả phần mềm mạng và phần mềm tự do: vì các tài nguyên [ở rìa]/[của các nhà phát triển bên ngoài hạt nhân Linux] lớn hơn các tài nguyên giới hạn [của xương sống]/[của các nhà phát triển Linux], thương mại-off để làm cho cựu làm nhiều hơn của công việc được chấp nhận.
Mặt khác, Microsoft đã đưa ra quyết định rằng họ phải duy trì khả năng tương thích trình điều khiển nhị phân càng nhiều càng tốt - họ không có sự lựa chọn, vì họ đang chơi trong một thế giới độc quyền. Theo một cách nào đó, điều này giúp các nhà phát triển bên ngoài dễ dàng không còn phải đối mặt với mục tiêu di động nữa và đối với người dùng cuối không bao giờ phải thay đổi bất kỳ thứ gì. Mặt khác, điều này buộc Microsoft phải duy trì tính tương thích ngược, đó là (tốt nhất) tốn thời gian cho các nhà phát triển của Microsoft và (tồi tệ nhất) là không hiệu quả, gây ra lỗi, và ngăn chặn tiến bộ về phía trước.