我必须在一个在内核级别运行的模块中添加一个插件,我必须访问一个可以定期更改的外部库,而无法停止执行此模块
在用户空间级别,我知道我们可以使用动态库来制作这种东西。 我的问题是: 我们可以在内核级别使用这种类型的库,否则就有相当于内核的用户空间级动态库
答案 0 :(得分:0)
您无法在内核中使用常规动态库。但是,可以在运行时加载和卸载内核模块。因此,如果将内核代码拆分为长时间运行且可动态重新加载的部分,并将它们链接到两个独立的内核模块,则可以实现相同的效果。当然,你长期运行的kmod不能依赖于短命的;相反,你需要长时间运行的一个来提供可重新加载模块用来注册自己的接口。