我正在做两个系统调用(linux 3.2)。我创建了这两个系统调用,并编译了内核。这两个系统调用需要对文件进行写入和读取。我将修改两个系统调用,read 和 write 来读取这个文件。所以这个文件需要被这四个系统调用(读、写和我的两个系统调用)访问。我的问题是,我可以在哪里以及如何创建此文件以及如何访问和修改它。我将只将此文件用于这些系统调用。
问问题
644 次
2 回答
2
这实际上是一个非常好的教育问题 - 这里突出显示的答案显示了在哪里/为什么这是一件非常困难和危险的事情。但是,如果您有一个用户空间守护进程等待事件/信号/IO 以指示它应该为内核执行读/写,那么“解决方案”很容易。这可以像 /proc 条目一样简单,其中包含用户空间进程读取/轮询/选择的计数/信号量。
解决这个问题是了解任何/许多解决方案中的权衡的好习惯。
于 2013-05-05T11:13:06.257 回答
0
在 Linux 内核中读取或写入文件被认为是“坏的”。
添加一个在列表中添加/删除名称的系统调用(不一定是 Linux 内核列表,但这也不是一个可怕的想法 - 可能是一个数组等),然后使用用户模式程序将名称设置为文件中的列表。
接下来,我认为将读/写系统调用绑定到分区并不容易。可能更容易处理open
?
于 2013-03-06T11:33:55.880 回答