前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深入理解计算机系统(第三版)/ CSAPP 杂谈,第10章:系统级I/O

深入理解计算机系统(第三版)/ CSAPP 杂谈,第10章:系统级I/O

作者头像
sickworm
发布2019-02-27 16:53:52
5380
发布2019-02-27 16:53:52
举报
文章被收录于专栏:sickwormsickworm
  • 每个打开的文件,内核都保持着文件位置
  • Linux 每个进程都有当前工作目录
  • stat 和 fstat 可以读取文件的元数据(metadata)
  • readdir 以流形式读取目录内容
  • Linux 使用了 3 个数据结构表示打开的文件:
    1. descriptor table 描述符表。每个进程独立维护,通过打开的文件描述符索引
    2. file table 文件表。所有进程共享,持有 vnode 指针,文件位置,引用计数,引用计数为 0 时删除表项
    3. v-node table v-node 表。所有进程共享,包含 stat 结构的大部分信息。
  • I/O 重定向通过 dup2 函数实现。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年1月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档