内核用三个相关的数据结构来表示打开的文件: 描述符表(descriptor table)。每个进程都有它独立的描述符表,它的表项是由进程打开的文件描述符来索引的。每个打开的描述符表项指向文件表中的一个表项。 文件表(file table)。打开文件的集合是由一张文件表来表示的,所有的进程共享这张表。每个文件表的表项组成(针对我们的目的)包括当前的文件位置、引用计数(reference count)(即当前指向该表项的描述符表项数),以及一个指向v-node表中对应表项的指针。关闭一个描述符会减少相应的文件表表项中的引用计数。内核不会删除这个文件表表项,直到它的引用计数为零。 v-node表(v-node table)。同文件表一样,所有的进程共享这张v-node表。每个表 项包含stat结构中的大多数信息,包括st_mode和st_size成员。
标签:node,文件,表项,描述符,table,共享,9.1 From: https://www.cnblogs.com/LCAB/p/17600988.html