《Unix环境高级编程》读书笔记
3.10 文件共享
内核使用了三种数据结构,它们之间的关系决定了在文件共享方面一个进程对另一个进程
可能产生的影响。
(1) 每个进程在进程表中都有一个记录项,每个记录项中有一张打开文件描述符表,可将
其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:
(a) 文件描述符标志。
(b) 指向一个文件表项的指针。
(2) 内核为所有打开文件维持一张文件表。每个文件表项包含:
(a) 文件状态标志(读、写、增写、同步、非阻塞等)。
(b) 当前文件位移量。
(c) 指向该文件v节点表项的指针。
(3) 每个打开文件(或设备)都有一个 v节点结构。 v节点包含了文件类型和对此文件进
行各种操作的函数的指针信息。对于大多数文件, v节点还包含了该文件的 i节点(索引节
点)。这些信息是在打开文件时从盘上读入内存的,所以所有关于文件的信息都是快速可供
使用的。例如, i节点包含了文件的所有者、文件长度、文件所在的设备、指向文件在盘上
所使用的实际数据块的指针等等( 4 . 1 4节较详细地说明了 U N I X文件系统,将更多地介绍 i节
点。)
本文来自博客园,作者:_姚大飞,转载请注明原文链接:https://www.cnblogs.com/sishuiliunian6x/p/17824132.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步