第三章 资料I/O 二

第三章 文件I/O 二
一、I/O数据结构

      内核使用了三种数据结构,他们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。
      (1)每个进程在进程表中都有一个记录项,每个记录项中有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:
            (a)文件描述符标志。
            (b)指向一个文件表项的指针。
       (2)内核为所有打开文件维持一张文件表。每个文件表项包含:
             (a)文件状态标志(读、写、增写、同步、非阻塞等)。
             (b)当前文件位移量。
             (c)指向该文件V节点表项的指针。
       (3)每个打开文件(或设备)都有一个V节点结构。V节点包含了文件类型和对文件进行各种操作的函数的指针信息。大多数文件,V节点包含了该文件的i节点(索引节点)。
         第三章 资料I/O 二