As of HP-UX Release 11.0, a new feature known as Dynamically Loadable
Kernel Module (DLKM) provides the means to add a device driver to
a running UNIX system without rebooting the system or rebuilding
the kernel. This feature also makes it possible to dynamically remove
a device driver from the UNIX system when the driver is no longer
needed, thereby freeing system resources for other use.
The
DLKM feature not only provides the infrastructure to load drivers into
a running kernel, but it also allows a driver to be statically linked into
the kernel—the way all drivers were included in the kernel
prior to HP-UX 11.0. Simply setting a flag in one of the driver's
configuration files determines whether a driver is to be configured
as dynamically loadable or statically linked.
For HP-UX 11.0, the system must be in a run-time state before
dynamic module loading is available. Thus, drivers required during
system boot must be configured as statically linked.
DLKM Module Types |
 |
The DLKM
feature currently supports the following types of drivers: WSIO
class drivers, WSIO interface drivers, and STREAMS drivers. It also
supports STREAMS modules and
miscellaneous modules. An example of a miscellaneous module is a
module containing support functions not required in the statically
configured kernel but shared among multiple loadable modules.
Advantages of DLKM Drivers |
 |
DLKM drivers/modules provide many advantages relative to static drivers/modules,
including:
making it easier for administrators
to install device drivers from other vendors
improving system availability by allowing device
drivers and other modules to be configured into the kernel while
the system is running
conserving system resources by unloading infrequently
used modules when not in use
providing administrators with the ability to demand
load and unload modules
providing the kernel with the ability to automatically
load modules
Auto
loading occurs when the kernel detects a particular loadable module
is required to accomplish some task, but the module is not currently
loaded. The kernel automatically loads the module.
 |
 |  |
 |
 | NOTE: Auto unloading is not supported in HP-UX 11.0. |
 |
 |  |
 |