一点背景,我是一名CMPE学生,目前正在进行操作系统课程。我有一些C编码的基本知识,但对C ++更熟悉(花了大约3个学期)。除此之外,从未接受任何其他正式的编码培训。另外,我对linux环境有了基本的了解。
我正在开发一个项目,要求我和我的团队编写一个可以执行以下操作的Linux内核模块:
现在我不知道那些有编程背景的人有多难,但对于我这个职位的人来说,这似乎是一项不可思议的复杂任务。
这是我到目前为止所做的:
所以最后我的问题是:有人可以指点我需要的方向吗?我甚至不知道在哪里找到用于读取用户级过程数据的命令,我需要某个地方来启动我。 TLPD非常适合洞察这个主题但是没有帮助我达到一个可行的项目可以上交的地步。过去,我会学习阅读源代码和逆向工程,我能在任何地方学习找到类似的东西?任何和所有的帮助表示赞赏。
- 将会
答案 0 :(得分:3)
我发现Linux内核模块编程指南是一个非常好的资源。从它的声音来看,像角色设备这样的东西可能最适合你的目的,但我不确定你是否有其他限制。
我可能会考虑的另一个方向(尽管这可能是一条糟糕的路径)是在Linux内核中查看具有类似功能的内核模块的示例。我手边没有一个很好的例子,但可能会查看/drivers/char/
。
答案 1 :(得分:3)
您所描述的内容与pipe几乎相同。
阅读Linux Device Drivers的第三章。 (但不要只复制scull pipe example ...)