OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Re: Why *are* the kernels monolithic?

From: Damien Miller (djmmindrot.org)
Date: Wed Jun 02 2004 - 00:41:51 CDT


Chuck Yerkes wrote:

> The OS is capable of loadable kernel modules. And yet, I'd be
> pressed to name any.
>
> While I understand that many of the substructure devices would
> want to be in the kernel (mii, etc). But *do* we need live drivers
> for 15+ scsi controllers in RAM?

Probably not, but the cost is low. Compared to the cost of kernel-level
rootkits or the hassle of implementing and maintaing a module system as
robust as a static kernel, very low.

> While it's almost moot on a box with 4 or 8GB of RAM, BSD finds itself
> often called on in the embedded market. Fitting a computer into small
> spaces for low cost (where a second 4MB of RAM *is* a signif cost) is
> a great place for BSD. Now these folks aren't using GENERIC anyway,
> but not having to work for it is a plus.

People who are building embedded boxes can modify things to suit their
needs and should be able to fix things when they break.

> The big rack computers don't care. And I've twiddled kernels long
> enough to debug them myself on the < 4 MB boxes. I just wonder
> about module phobia or dislike.

Then you also know:

 - How to build a custom kernel that suits you; and either:
   - How to debug it; or
   - How to boot with a GENERIC kernel before reporting bugs

So you get to have it both ways anyway.

One of the best things about OpenBSD is that it works out of the box. I
don't have to worry about kernel modules not matching my kernel,
runtime-loaded kernel rootkits or obscure module dependancy bugs. I
can't recall one occasion where I have /wished/ for a particular driver
to be a module.

-d