我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核模块中是不能使用的.通过查看sys_open的源码我们发现,其主要使用了do_filp_open()函数,该函数在fs/namei.c中,而在改文件中,filp_open函数也是...
简介: 内核态的文件操作函数:filp_open、filp_close、vfs_read、vfs_write、set_fs、get_fs 关于用户态的文件操作函数我们知道有open、read、write这些。但是这些的实现都是依赖于库的实现,但是在内核态是没有库函数可用的。最近做测试,在内核态中,需要学习一下在内核态里面的文件操作函数。分为三对出现。 感谢...
1、filp_open() 2、filp_close() 3、vfs_read() 4、vfs_write() 可以将这套函数理解成是在内核态的“文件IO”接口。 1、filp_open()函数 函数原型如下: struct file *filp_open(const char *, int, umode_t); 参数1是要打开的文件的路径。直接填文件系统中的路径就行了,最好填绝对路径。 参数2...