Loadable kernel module
In computing, a loadable kernel module (or LKM) is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system. Most current Unix-like systems, and Microsoft Windows, support loadable kernel modules, although they might use a different name for them, such as “kernel extension” (“kext”) in Mac OS X. They are also known as Kernel Loadable Modules (or KLM), and simply as Kernel Modules (KMOD). LKM’s are typically used to add support for new hardware and/or filesystems, or for adding system calls. When the functionality provided by an LKM is no longer required, it can be unloaded in order to free memory. Without loadable kernel modules, an operating system would have to have all possible anticipated functionality already compiled directly into the base kernel.