*BSD News Article 28943


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!news.kei.com!eff!usenet.ins.cwru.edu!howland.reston.ans.net!gatech!prism!prism!not-for-mail
From: gt8134b@prism.gatech.edu (Robert Sanders)
Newsgroups: comp.unix.bsd
Subject: Re: net / free bsd ?
Date: 29 Mar 1994 00:09:58 -0500
Organization: Georgia Institute of Technology
Lines: 39
Message-ID: <2n8d76$t84@acme.gatech.edu>
References: <2mkvci$e1p@cronkite.cisco.com> <1994Mar22.150117.22837@news.csuohio.edu> <Cn791D.B84@frobozz.sccsi.com> <2n86gv$md6@u.cc.utah.edu>

terry@cs.weber.edu (Terry Lambert) writes:

>BSD supports it.  I wrote the kernel stuff and released it at the end of
>last May.  NetBSD has it integrated.

>Both BSD's are about to get demand loading of kernel modules, which is the
>next logical step; consider: I mount a PCFS file system.  The PCFS filesystem
>is demand loaded, runtime-linked into the kernel address space, and the mount
>performed.

There is a very small package that performs this service for Linux as
well, but it's somewhat limited because the standard Linux modules
facility was limited to character devices only.  There are patches
that implement this for everything from the math emulator to 
filesystems (i.e. it generalizes the module loading/registration mechanism),
but they got put on hold during the recent Linux code freeze for v1.0.

I imagine the BSD people use an approach similar to the Linux way:
a user-level program registers itself as a "module loader," and does 
all the file location, version checking, and linking needed.

>Saves on kernel size for a truly generic kernel that only has to be as
>generic as a particular piece of hardware (exceptions for a default
>console driver, as default disk driver, and a default file system for
>boot phase).  There has been some talk of dynamically loading the network
>drivers and protocol families as well.

One nice feature of the latter set of patches I mentioned was the
ability to "piggyback" many different loadable modules, each with a
probe function: if the probe "failed," the module was discarded.
Not only SCSI hardware drivers, but the entire SCSI subsystem could 
be discarded if it wasn't needed.  Even the math emulator was tossed 
out if a FPU was detected.

-- 
 _g,  '96 --->>>>>>>>>>   gt8134b@prism.gatech.edu  <<<<<<<<<---  CompSci  ,g_
W@@@W__        |-\      ^        | disclaimer:  <---> "Bow before ZOD!" __W@@@W
W@@@@**~~~'  ro|-<ert s/_\ nders |   who am I???  ^  from Superman  '~~~**@@@@W
`*MV' hi,ocie! |-/ad! /   \ss!!  | ooga ooga!!    |    II (cool)!         `VW*'