linux 内核使用三种数据结构表示打开的文件
1. 每个进程在进程表中都有一个记录项,记录项中包含有一张打开的文件描述符表。
2. 内核为所有找开的文件维持一张文件表
3. 每个打开的文件都有一个 i 结点。
它们之间的关系如下图所示:
文件共享
如果两个进程各自打开了同一个文件,打开该文件的每个进程都得到一个文件表项,
但却只有给定文件的一个i结点。每个进程都有自己的文件表项的一个理由是:这种安排使
每个进程都有它自己对该文件的当前偏移量。其结构如下图所示:
阅读(1218) | 评论(0) | 转发(0) |