Date: Sat, 5 Dec 1998 07:06:58 -0600 (CST) From: Richard Wackerbarth <rkw@nomad.dataplex.net> To: Paul Richards <paul@originative.co.uk> Cc: "'Mike Smith'" <mike@smith.net.au>, Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, freebsd-current@FreeBSD.ORG Subject: RE: KLD - what's the idea? Message-ID: <Pine.BSF.4.05.9812050624160.7330-100000@nomad.dataplex.net> In-Reply-To: <E40CBF0361C7D111914000C0F0303D108819@OCTOPUS>
next in thread | previous in thread | raw e-mail | index | archive | help
Selecting the "ideal" driver for a given device can be non-trivial. I like the general idea that Apple uses to allow drivers to be "hot swapable". Each driver has the ability to phase itself out and allow a new driver to take its place. This permits the system to start up with very generic drivers and replace them on the fly with better ones which are "tuned" to the particular characteristics of some hardware. It also handles the case of driver upgrade. Essentially, each driver is allowed to "bid" for a device. Whenever a driver becomes the highest bidder, it takes the device and runs it. At some later time, it can get notified that it has been "out bid" and must relinquish the device to the new driver. By providing a "registry", the "auctioneer" can speed the process along by first soliciting a bid from the likely high bidder. The nice thing is that all of this auction can take place in user-land. Each driver can be represented by its agent and only loaded to confirm its "bid" and take control of the device. Most drivers can be represented by the generic agent that works from the "registry" and never get loaded unless they are needed. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9812050624160.7330-100000>