在Linux中的内核空间中执行程序

bin*_*inW 6 kernel linux-kernel embedded-linux

如果我想在Linux内核空间中执行用户程序(而不是内核模块),我有哪些选择?

我看过KML(内核模式linux),但这是针对IA-32架构的.我想要一个跨平台的解决方案,可以在嵌入式Linux系统上运行.

小智 6

call_usr模式助手


caf*_*caf 5

用户程序不在内核空间中执行 - 这就是使用户程序成为用户程序的原因.

如果要在内核空间中执行代码,您有两种选择:将其构建到内核中,或者使用内核模块加载它.


Jay*_*ayM 5

您在另一个问题中写道,您是内核编程的新手。使用 KML 是非常非常规的,并且比以标准方式做事要复杂得多。这会让你的学习变得更加困难。我建议您最好的选择是重新评估为什么要在内核空间中运行用户空间应用程序,并找到不这样做的方法。

做这样的事情可能有充分的理由,但我不清楚这个理由是什么。对于内核开发,您应该了解的一件事是,仅仅因为某件事是可能的,它不一定是应该做的事情。

如果您确实想要一个跨平台解决方案,则必须自己编写。KML 支持的唯一架构是 IA32 和 AMD64。


T.E*_*.D. 3

根据定义,内核编程几乎是特定于平台的,因为不同平台的内核都是不同的。