c - Linux/Unix 作为内核运行

标签 c linux system

我有兴趣编写一个作为内核服务运行的程序。 但首先,如果一个程序作为内核运行,这是否会覆盖 Linux/Unix 系统上 super 用户的权限,我对吗?

最佳答案

你想要开发的东西被称为“内核模块”。是的,内核模块线程在系统中可以执行的操作没有任何限制,包括严重破坏所有内容。

这是了解这些的一个很好的起点:

http://lwn.net/Kernel/LDD3/

令人惊讶的是,可以在 Linux 内核空间中运行“普通”应用程序,以获得一些额外的(但较小的)好处。该机制称为“内核模式 linux”,可作为补丁使用:

http://www.yl.is.s.u-tokyo.ac.jp/~tosh/kml/

但从您的问题来看,您可能想做相反的事情:开发一个内核服务,该服务受益于用户空间中可用的附加保护。这也通过 UIO 子系统(在主内核树中)的方式支持:

http://lxr.linux.no/linux+v3.12/Documentation/DocBook/uio-howto.tmpl

关于c - Linux/Unix 作为内核运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19919755/

相关文章:

c++ - 为什么子进程的行为如此奇怪?

cocoa - 如何在Cocoa中使用system调用curl

c# - 我无法摆脱System.Range.get_Start错误

使用 C 中的函数复制结构数组

C 中的字符数组旋转错误 - 看不出原因

c++ - 内联 asm 到 x64 - 理解

python - 设置 Python 二进制模块构建的包含路径

linux - BASH:重置某些脚本使用的变量

asp.net - Linux 上的 ActiveX 使用 Mono?

尝试访问配置面板时 Magento system.xml 和 404 错误