我想在 proc.c(内核模式)中创建一个文件并向其中写入一些内容,但是提供的系统调用(打开)是用于 user.h 标头中的用户模式,我不能在 proc.c 中包含 user.h,在 proc.c 中还有其他方法可以做到这一点吗?
问问题
5375 次
2 回答
1
使用 sysfile.c 中函数 sys_open() 中的“open”系统调用代码,并自己分配“path”和“omode”变量。
(如果您想避免代码重复,您可以编辑 sys_open 以使用“path”、“omode”变量调用另一个函数,并在 proc.c 中的代码中使用该函数)
于 2015-12-28T22:12:27.297 回答
0
你应该研究内核文件系统。在那里你会看到相关的内核函数。
具体来说,您需要create
, writei
,iput
函数。您还需要begin_trans
和comnit_trans
(因为您正在写作)。
于 2016-03-01T19:48:04.113 回答