Classic

The Linux Kernel Driver Interface
 This is being written to try to explain why Linux does not have a binary kernel interface, nor does it have a stable kernel interface. Please realize that this article describes the _in kernel_ interfaces, not the kernel to userspace interfaces. The kernel to userspace interface is the one that application programs use, the syscall interface. That interface is _very_ stable over time, and will not break. I have old programs that were built on a pre 0.9something kernel that still works just fine on the latest 2.6 kernel release. This interface is the one that users and application programmers can count on being stable.

linux kernel monkey log

No. Thats Lazy.

technorati tags:, , , , , , ,

Blogged with Flock

  1. No, its not lazy.

    It is considerably more complex than the article does make out. The problem is that people who use these interfaces tend to build interfaces that require internal functions that may or may not be there between releases. See HZ for example.

    They also expect this to work across different distributions. (Dont try this at home kids ! ) Sure they are both 2.6.9 , but Red Hat has ported back the 2.6.11 timing patch and.. now their timing is off.. and the suse patch from 11 makes their clock loose a minute every ten. You see where this is going .. I hope.

    They see a list of functions, then “need just one more” and they are willing to break the rules for that special requirement.

    The world comes tumbling down when this tiny but really simple mechanism they use no longer works, and then who looks bad ? Its obvious that the kernel coders changed something !

    Providing an ABI is only really useful to closed source drivers who are not contributing either way. Good and useful open source drivers should be going into the main tree anyway.

Leave a Reply