gpt4 book ai didi

linux - 我应该什么时候编写 Linux 内核模块?

转载 作者:IT老高 更新时间:2023-10-28 12:40:37 25 4
gpt4 key购买 nike

有些人出于某种原因想要在 Linux 中将代码从用户空间移动到内核空间。很多时候,原因似乎是代码应该具有特别高的优先级,或者只是“内核空间更快”。

这对我来说似乎很奇怪。我什么时候应该考虑编写内核模块?有一套标准吗?

我如何激励将代码保留在(我相信)属于那里的用户空间中?

最佳答案

经验法则:尽你最大的最佳将代码保留在用户空间中。如果您认为自己做不到,请花尽可能多的时间来研究内核代码的替代方案,就像编写代码一样(即:很长时间),然后再试一次在用户空间中实现它.如果您仍然做不到,请进行更多研究以确保您做出正确的选择,然后非常谨慎地进入内核。正如其他人所说,很少情况会要求编写内核模块和调试内核代码可能非常糟糕,所以不惜一切代价避开。

就考虑编写内核模式代码时应检查的具体条件而言,以下是一些: 是否需要访问极低级别的资源,例如中断?您的代码是否为无法在当前导出功能之上构建的硬件定义了新的接口(interface)/驱动程序?您的代码是否需要访问未从内核空间导出的数据结构或原语?您是否正在编写将主要由 其他 内核子系统使用的东西,例如调度程序或 VM 系统(即使在这里,子系统也不一定是内核模式:Mach 强烈支持user-mode 虚拟内存分页器,所以肯定可以做到)?

关于linux - 我应该什么时候编写 Linux 内核模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com