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>