Linux Kernel Architecture

(Jacob Rumans) #1

Chapter7:Modules


7.6 Summary


Modules allow us to extend the functionalities provided by the kernel at run time. Considering the exten-
sive number of drivers available in the kernel, this is an important mechanism because only the really
required code needs to be active. However, not only device drivers, but all except the most fundamental
parts of the kernel can be configured as modules.

I have discussed how dependencies between modules are detected and can be resolved, how modules
are represented in binary files, and how they are loaded into and unloaded from the kernel. Additionally,
I have described how the kernel can automatically request modules when a particular feature is accessed
from userland, but the corresponding code is not present in the kernel. This requires some interaction
with userland to resolve which module is required.

Finally, I have shown how the kernel can protect itself against modules that are compiled against a
different kernel version and that might employ an incompatible set of functions with the help of module
version control.
Free download pdf