The kernel consists of a small generic core with a platform-specific component and a set of modules. A kernel module is a software component that performs a specific task on the system. A device driver that is loaded when the device is accessed is an example of a loadable kernel module.
The following lists the location and contents of the Oracle Solaris kernel modules:
Platform-specific kernel components.
arch is the information that is displayed by the uname -m command.
Kernel components common to all platforms that are needed for booting the system
Kernel components common to all platforms within a particular instruction set
The system determines the devices that are attached to it at boot time. Then, the kernel configures itself dynamically, loading needed modules into memory, a process called autoconfiguration. At this time, device drivers are loaded when devices such as disk devices and tape devices are accessed.
Autconfiguration provides the following benefits:
Main memory is used more efficiently because modules are loaded when needed.
Kernel reconfiguration is unnecessary when new devices are added to the system.
You can load and test drivers without having to rebuild the kernel.
You can add a new device and its driver without having to perform a reconfiguration boot afterwards.
You can add, remove, or replace devices in Oracle Solaris while the system is still running provided that the system components support hot-plugging. For information about hot-plugging devices, see Dynamically Configuring Devices.
You can also customize the way in which kernel modules are loaded by modifying the /etc/system file. For instructions, see the system(5) man page.