2

我想在 proc.c(内核模式)中创建一个文件并向其中写入一些内容,但是提供的系统调用(打开)是用于 user.h 标头中的用户模式,我不能在 proc.c 中包含 user.h,在 proc.c 中还有其他方法可以做到这一点吗?

4

2 回答 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_transcomnit_trans(因为您正在写作)。

于 2016-03-01T19:48:04.113 回答