社区首页 >专栏 >深入理解计算机系统(第三版)/ CSAPP 杂谈,第10章:系统级I/O - 每个打开的文件,内核都保持着文件位置
- Linux 每个进程都有当前工作目录
- stat 和 fstat 可以读取文件的元数据(metadata)
- readdir 以流形式读取目录内容
- Linux 使用了 3 个数据结构表示打开的文件:
- descriptor table 描述符表。每个进程独立维护,通过打开的文件描述符索引
- file table 文件表。所有进程共享,持有 vnode 指针,文件位置,引用计数,引用计数为 0 时删除表项
- v-node table v-node 表。所有进程共享,包含 stat 结构的大部分信息。
- I/O 重定向通过 dup2 函数实现。
本文参与
腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年1月21日,如有侵权请联系
cloudcommunity@tencent.com 删除