腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
深入理解计算机系统
共 10 篇文章
加入清单架
1
深入理解计算机系统(第三版)/ CSAPP 杂谈,第1章:计算机系统漫游
2
深入理解计算机系统(第三版)/ CSAPP 杂谈,第2章:信息的表示和处理
3
深入理解计算机系统(第三版)/ CSAPP 杂谈,第3章:程序的机器级表示
4
深入理解计算机系统(第三版)/ CSAPP 杂谈,第6章:储存器层次结构
5
深入理解计算机系统(第三版)/ CSAPP 杂谈,第7章:链接
6
深入理解计算机系统(第三版)/ CSAPP 杂谈,第8章:异常控制流
7
深入理解计算机系统(第三版)/ CSAPP 杂谈,第9章:虚拟内存
8
深入理解计算机系统(第三版)/ CSAPP 杂谈,第10章:系统级I/O
9
深入理解计算机系统(第三版)/ CSAPP 杂谈,第11章:网络编程
10
深入理解计算机系统(第三版)/ CSAPP 杂谈,第12章:并发编程
清单首页
深入理解计算机系统
文章详情
清单「深入理解计算机系统」 08/10
深入理解计算机系统(第三版)/ CSAPP 杂谈,第10章:系统级I/O
sickworm
·腾讯音乐Android开发工程师
每个打开的文件,内核都保持着文件位置
Linux 每个进程都有当前工作目录
stat 和 fstat 可以读取文件的元数据(metadata)
readdir 以流形式读取目录内容
Linux 使用了 3 个数据结构表示打开的文件:
descriptor table 描述符表。每个进程独立维护,通过打开的文件描述符索引
file table 文件表。所有进程共享,持有 vnode 指针,文件位置,引用计数,引用计数为 0 时删除表项
v-node table v-node 表。所有进程共享,包含 stat 结构的大部分信息。
I/O 重定向通过 dup2 函数实现。
下一篇
举报
领券