Linus Torvalds, creator of the Linux kernel, said at the LinuxCon in Portland yesterday that, "We are not the streamlined, small, hyper-efficient kernel I envisioned 15 years ago," he said. "Our kernel is huge and bloated. Whenever we add a new feature, it only gets worse." It's time to put Linux on a diet. What we need is a very small kernel that loads support via external files. Though Linux is a modular kernel, it seems that everything gets compiled in to the central code slug but I have a solution.
Instead of making the kernel impossibly huge and compiling in support for device X and peripheral Y, let's move support for all devices to XML files and just have the kernel read the ones we want. No recompiling. No derivative works in the kernel. And no debate needed between Tannenbaum and Torvalds over microkernels vs monolithic kernels.
Move support for everything to a directory or special filesystem, like /proc, where all of the necessary XML files reside. The kernel picks them up and uses them with no changes to the kernel and no kernel bloat required. Now, I have to tell you that IANAP (I am not a Programmer) by any stretch of the imagination but it seems to me that this would have been something that others would have thought up before now.
I'm a long-time user of Linux, an early adopter and the founder of the local Linux User's Group back in 1996. The first meeting of that LUG was spent on teaching others how to recompile their kernel so that they could add or remove support for devices and peripherals.
This was, and is, a totally unnecessary activity. Recompiling a kernel should be reserved for very rare circumstances.
Admittedly, I haven't recompiled a kernel in at least four years. I just deal with what I'm given at this point. I no longer have the energy or the time it takes to recompile and recompile and recompile until I get it just so.
So, to Linus and the other kernel maintainers: What do you think? Can we make this work? Pull out all of the kernel bloat and make it cafeteria style.
I wonder if Andrew Tannenbaum would like this idea?
What do you think of my plan to truly modularize and right size the kernel? Write back and let me know.