Loadable kernel modules in an operating system is an object file that contains code to extend the running kernel, which is also known as the base kernel. The loadable kernel modules are used to add support for file systems, hardware, system calls etc.
A figure that shows the loadable modules of the operating system is as follows −
An operating system would have to include all the systems that provided all anticipated functionalities in the base kernel if there were no loadable modules. This would lead to wastage of memory as most of those systems would not be used often.
Also, the users would need to rebuild and reboot the base kernel every time they would require a new functionality.
The fragmentation penalty is a major disadvantage of loadable modules in the kernel. This means that every time a new kernel module code is inserted, the kernel becomes fragmented. This leads to a performance penalty because of more TLB misses.