[openbeos] Re: Add-ons/Module problems/ideas??

  • From: Fred K Ollinger <follinge@xxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Wed, 31 Jul 2002 21:02:06 -0400 (EDT)

> Extending the kernel is a more recent idea. Allowing the kernel to
> invoke other kernel level code at run time makes the kernel more
> modular and easily enhanced by the work of others. It also reduces the
> size of the kernel by not requiring everything to be statically linked
> in with the kernel itself.

All true, here. I am going to add that modules don't have to be device
drivers. There are linux kernel drivers which are for filesystems. Others
give firewalling functionality. So many parts of the kernel space in linux
kernel can be modularized including device drivers. In fact _Linux Device
Drivers_ tells about how to make a loadable module that just registers
itself and says hello. A hello world module!

> There is no requirement that drivers be dynamically loaded. Until
> recently, most drivers were build into the kernel. However, the trend
> now is definitely to let the drivers be loaded on demand at run time.
> These kind of drivers, therefore, have to be written as some kind of
> kernel extension.

All true, in fact using initrd, even things such as the filesystem module
for / can be a module. This way, you can change filesystems (to xfs) and
not have to recompile the kernel, making a xfs static. This assumes you
have compiled xfs as a module against your current kernel sources. This
doesn't have to be done during your first compile.

> Ok, that's my take. Anyone care to add to this or disagree?

I agree w/ all of it.

While I believe the 7 MB kernel issue, I don't think it's that big of a
deal, nor something newfs/openbeos is going to have to deal w/ for a
while:

# du -sh bsd
4.3M    bsd
# uname -a
OpenBSD dano 3.1 MYKERNEL#3 i386

This kernel is stock save for usb support, which was giving me trouble.
Had I had modules (like linux) I wouldn't have had this trouble to begin
w/ b/c I could have unloaded the module:

rmmod annoying_usb_module

Fred


Other related posts: