我有兴趣编写一个作为内核服务运行的程序。 但首先,如果一个程序作为内核运行,这是否会覆盖 Linux/Unix 系统上 super 用户的权限,我对吗?
最佳答案
你想要开发的东西被称为“内核模块”。是的,内核模块线程在系统中可以执行的操作没有任何限制,包括严重破坏所有内容。
这是了解这些的一个很好的起点:
令人惊讶的是,可以在 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/