我正在进行两次系统调用(linux 3.2)。我已经创建了这两个系统调用,并且我编译了内核。这两个系统调用需要对文件进行写入和读取。我将修改两个系统调用,读取和写入以读取此文件。因此,这四个系统调用(读取,写入和我的两个系统调用)需要访问此文件。我的问题是,我在哪里以及如何创建此文件以及如何访问和修改它。我将仅将此文件用于这些系统调用。
答案 0 :(得分:1)
这实际上是一个非常好的教育问题 - 这里的答案显示了这里/为什么这是一个难以置信的困难和危险的事情。但是,如果您有一个用户空间守护程序等待事件/信号/ IO指示它应该对内核进行读/写操作,那么“解决方案”很容易。这可以像带有一些count / semaphore的/ proc条目一样简单,用户空间进程读取/轮询/选择on。
解决这个问题是理解任何/多种解决方案中权衡的好方法。
答案 1 :(得分:0)
在Linux内核中读取或写入文件被认为是“糟糕的”。
添加一个系统调用,在列表中添加/删除一个名称(不一定是Linux内核列表,但这也不是一个可怕的想法 - 可能是一个数组等),然后使用用户模式程序来设置文件列表中的名称。
接下来,我认为将读/写系统调用绑定到分区并不容易。在open
中可能更容易处理它?</ p>