Loadable kernel module

A kernel module (aka " LKM " for English, " loadable kernel module " ) is a special computer program that is loaded on the fly in the kernel of an operating system and can be removed from it again.

Kernel modules are widely used for device drivers, because a large choice of modules for a variety of hardware components with the operating system may be included, but only the really necessary drivers must be loaded into memory.

Kernel modules are available for different operating systems such as Linux, BSD or Solaris.

More details

Kernel modules are usually written in the C programming language and compiled before her shop in the kernel and the later execution there, into the machine language for the particular target platform ( compiled).

The method of the dynamic adding of kernel modules is for example used in the Linux kernel to dynamically adapt a standard kernel to the hardware on which it is running. For example, the driver encountered a sound card at run time the kernel is loaded, while the present driver for non-existent sound cards can be ignored and thus also occupy no memory.

A further advantage lies in the fact that extensions for the kernels can be integrated without the operating system needs to be restarted. It is conceivable that you removed in this way realized as a kernel module driver a sound card and integrates a newer version of this driver into the running system.

  • Operating system theory
  • Operating system component
  • Linux
  • FreeBSD