[nycbug-talk] kernels
Sunny Dubey
sunny-ml
Thu Jun 3 09:06:54 EDT 2004
On Thursday 03 June 2004 02:07 am, mlists at bizintegrators.com wrote:
> They seem to have missed one important post on the list.
> Here it is, from Kamo Hiroyasu <wd at ics.nara-wu.ac.jp>
> "
> Chuck, you are misusing the term `monolithic'. A monolithic kernel
> with loadable modules is still a monolithic kernel because the loaded
> codes will run on the kernel space. It is far from a micro kernel.
> That implies: you cannot gain any advantage of mocro kernels from
> loadable modules.
>
> Please consult any textbook on operating systems for detail.
>
> Kamo Hiroyasu
> [Kamo is the family name and Hiroyasu the given name.]
>
> "
>
> Therefore, Linux kernel is also monolithic.
>
I think that some people are missing the fact that it is possible to get
around the GPL requirements of the linux kernel. Essentially what you can
do is the following:
linux-kernel <---> GPL wrapper <---> binary only module
>From what I've seen, the above is usually the case 99% of the time. You
download whatever package and compile the module wrapper against the
current kernel headers.
Additionally as someone who understands the Mandrake Linux installer
backwards and forwards [1], I can say that modules become excessively
helpful especially when you need to distribute generic kernels, or need a
kernel going for the installation process.
Essentially you can break hardware support down into two categories, the
first being "mandatory" (stuff that is needed for installation, like
IDE/SCSI, network cards), and the second "optional" (sound cards, printers,
etc). It is the size of the mandatory support that matters greatly because
at any given time you have limited amount of space to deal with, yet at the
same time the list of "mandatory" stuff keeps growing and growing.
With the BSDs, the GENERIC kernel essentially supports the mandatory stuff
with various optional parts left out. However with linux distros, we like
to ship a kernel with very basic mandatory stuff, and the rest of the
mandatory/optional stuff built as modules. This comes to our advantage for
various reasons. The first being that people aren't loading what they
don't need to be. (Not that there is anything wrong with loading what you
don't need, but the less running in kernel space, the better). Secondly
(IMO) you are given a chance to load the module with modified arguments as
opposed to having to manually type such at the bootloader or having GENERIC
use whatever defaults it was compiled with. Lastly, modules are helpful
because in the event there is a bug, or just unsupported hardware, most
distros will allow you to load your own modules during the installation
period (this has saved my ass numerous times).
> I'm very gratefull for OpenBSD's integrity, meaning things like binary
> only drivers will never be accepted.
I don't see how this is true.
Sure binary only modules may not be possible, but binary only patches are
very much possible. Additionally thanks to the liberal BSD license, this
becomes more so possible as opposed to the requirements of the GPL.
Sunny Dubey
[1] http://opencurve.org/~sunny/mandrake/init-startup
More information about the talk
mailing list