You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UNIX技术疑问:i-number与文件描述符是否为同一概念?

文件描述符与i-number的区别

结论:文件描述符绝对不是i-number,二者是完全不同的概念

结合论文提及的要点,具体区别可以拆解为:

  • i-number是文件系统级的唯一标识:它是目录条目里指向文件的整数指针,属于文件本身的元数据——只要文件存在,不管有没有进程打开它,i-number都固定存在,用来在文件系统中定位文件的实际数据和元信息。
  • 文件描述符是进程级的引用标识:它是open/create调用返回的小整数,本质是进程内部文件描述符表的索引。每个进程有独立的描述符表,同一个文件被不同进程打开会得到不同的描述符;就算同一个进程多次打开同一个文件,也会生成不同的描述符。
  • open/create的作用是建立二者的关联:这两个系统调用会先把用户输入的路径名解析成对应的i-number,然后在当前进程的描述符表里新增一个条目,关联这个i-number对应的文件,最后返回这个条目的索引(也就是文件描述符)。简单说,文件描述符是进程用来快速访问已打开文件的“入口”,背后关联的是i-number,但本身和i-number不是一回事。

内容的提问来源于stack exchange,提问作者Tabish Mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:10:23