Linux IO 学习笔记(2)——文件系统读写流程
发布时间
阅读量:
阅读量
LInux任督二脉IO课程笔记,微信公众号:Linuxer。
接上篇博客,下面来说第一个问题,VFS是如果打开和读写文件的。
用户读写文件的流程
file->dentry->inode->iops->address_space->disk 的流程:

通过struct定位磁盘上的 inode 节点对象:单个进程打开的文件由 struct 类型 file 对象表示,并可通过该结构使得 VFS 能够访问(其中包含 file_operations 字段)。该结构中的 find 方法可以定位到对应的 dentity 实例。若有多个进程共享同一份文件,则会共享相同的 dentity 实例。利用该 dentity 实例可以进一步定位到对应的 inode 节点,在该 inode 就与特定类型的存储系统(如 ext3 或 ext4)直接相关。该 inode 包含用于读写操作所需的一系列属性,在到达 inode 时即可完成相应的操作。若有一个 dentity 是另一个 dentity 的硬链接副本,则它们共享相同的 inode 对象。
在VFS底层中使用的读写操作实际上对
全部评论 (0)
还没有任何评论哟~
