- 论坛徽章:
- 14
|
1:
int open(const char *pathname, int flags, mode_t mode); --系统调用
||
\/
long sys_open(const char __user *filename, int flags, int mode) -- fs/open.c
/*对应内核中的open接口函数*/
sys_open()应该是内核态的函数了——这中间是如何调用的呢?是不是二楼所讲?
2:
static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt,
int flags, struct file *f,
int (*open)(struct inode *, struct file *)) --fs/open.c
其中存在着struct vfsmount这么个参数,是不是内核中都必须经过vfs这一层,然后再向下到具体各类fs(所有文件是不是都可以看作各类文件系统?各类文件系统无非就是对应着各类读写操作方法而已,设备也可以被看作是某类文件系统,所以都经过了visual fs这一层?!) |
|