Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Oct 1999 19:14:17 -0400 (EDT)
From:      James Howard <howardjp@wam.umd.edu>
To:        freebsd-hackers@freebsd.org
Subject:   KLDs
Message-ID:  <Pine.GSO.4.10.9910081901240.20621-100000@rac9.wam.umd.edu>

next in thread | raw e-mail | index | archive | help
On Slashdot, in a discussion regarding QNX, someone described it with the
following:

	Under QNX, if your driver crashes, the kernel just restarts it. 

After reading it, I became more interested in KLDs.  My only prior
experiece was installing the Linux KLD and that was done by a port.
Anyway, in an effort to learn, I decided to KLD-ify EXT2FS support.  It
took about 20 minutes and works great, but I still do not know how KLDs
work.  :)  (I submitted the patch in kern/14217, if someone could look at
it, that would be swell.  I've been able to mount, read, write and umount
without any problems)

I also managed to get IPX KLD-ified in about 15 minutes, I can load it and
now NCP loads but I have no way to test it.  It also panics the kernel on
unload.  

Anyway, back to the point, if it is this so simple (is it?), how much of
the kernel can be KLDs?  It would be interesting to see a kernel so small
that all it had was KLD support in it and everything else was a module.  I
could upgrade my TCP/IP stack or filesystem code without a reboot.
Imagine the uptime?  Has anyone else thought about this?  Is this a good
idea?  Is this a bad idea?  How fundamentally different would this be from
a microkernel?  Could things be done in such a way that like QNX, it can
kill and restart a misbehaving driver?  What other cool things can be
done?

Thanks, Jamie



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.9910081901240.20621-100000>