在读取/写入文件时,文件中的当前位置保存在哪里?是在索引节点中还是处理器变量?
答案 0 :(得分:0)
Windows将当前位置存储在FILE_OBJECT
结构中。通过调用诸如FILE_OBJECT
和CreateFile
之类的函数来创建ReOpenFile
。
Linux将当前位置存储在struct file
中。 struct file
是通过调用函数open
创建的。
打开文件时,您将获得一个“句柄”或“文件描述符”,它只是当前进程描述符表中的一个索引。您可以说它只是对FILE_OBJECT
/ struct file
的引用。这样做的副作用是,如果您用DuplicateHandle
/ dup
复制句柄/描述符,则副本应共享当前文件的偏移量。