在读/写操作期间文件的当前位置在哪里?

时间:2018-07-13 17:20:06

标签: read-write inode

在读取/写入文件时,文件中的当前位置保存在哪里?是在索引节点中还是处理器变量?

1 个答案:

答案 0 :(得分:0)

Windows将当前位置存储在FILE_OBJECT结构中。通过调用诸如FILE_OBJECTCreateFile之类的函数来创建ReOpenFile

Linux将当前位置存储在struct file中。 struct file是通过调用函数open创建的。

打开文件时,您将获得一个“句柄”或“文件描述符”,它只是当前进程描述符表中的一个索引。您可以说它只是对FILE_OBJECT / struct file的引用。这样做的副作用是,如果您用DuplicateHandle / dup复制句柄/描述符,则副本应共享当前文件的偏移量。