Introduction to Linux Kernel Module Programming

A kernel module is a piece of code which can be dynamically loaded or unloaded from the system to extend its functionality . There is no need to compile the whole kernel source code for adding a single functionality. also you need not reboot the system after adding the module . This is one of the features of the micro kernel architecture.