Linked by Amjith Ramanujam on Tue 22nd Jul 2008 15:55 UTC, submitted by LinucksGirl
Linux Linux loadable kernel modules are on of the most important innovations in the Linux kernel. They provide a kernel that is both scalable and dynamic. Discover loadable kernels, the ideas behind them, and learn how these independent objects dynamically become part of the Linux kernel.
Thread beginning with comment 324079
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: "Innovations"?
by mmu_man on Tue 22nd Jul 2008 16:53 UTC in reply to ""Innovations"?"
mmu_man
Member since:
2006-09-30

Well even AmigaOS could load kernel modules of some sort ;)
BeOS, AFAICR, had kernel modules as well, but in a much cleaner fashion than what linux does.

> how these independent objects dynamically become part of the Linux kernel.
And participate in the global mess...

Linux finally got hierarchically organized modules (BeOS had those 10 years ago), but they still explicitely link to each other making it a pain to have them loaded in correct order, and insmod is still required, even if it's hidden by udev.
In BeOS (and Haiku) modules only link to the kernel, and access other modules via a clean API where they ask which module the need and get given a list of functions then can call.
This makes the whole much cleaner and stable than the driver framework in linux, or rather the absence thereof.

Reply Parent Bookmark Score: 4

RE[2]: "Innovations"?
by Vanders on Tue 22nd Jul 2008 19:00 in reply to "RE: "Innovations"?"
Vanders Member since:
2005-07-06

These days Linux is actually unusual in not having some sort of proper driver API and stable ABI. They have their reasons, even if you don't agree with them.

Reply Parent Bookmark Score: 7

RE[3]: "Innovations"?
by mmu_man on Tue 22nd Jul 2008 21:00 in reply to "RE[2]: "Innovations"?"
mmu_man Member since:
2006-09-30

Yes, the reason they give is that all drivers are in the source tree anyway, and it allows for faster development.
The first one is wrong, there are things like OSSv4 which (tries to) support Linux by requiring an ugly glue full of #ifdefs on the kernel version. Of course some integrists just discard it saying all driver must be in the source tree or just not be at all. That's a bit pathetic but eh.
As for faster dev, well, maybe, but sometimes it's better to take the time to see where one is going before running to it.

Reply Parent Bookmark Score: 1