首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UNIX: i-号与文件描述符相同吗?

UNIX: i-号与文件描述符相同吗?
EN

Stack Overflow用户
提问于 2022-09-30 22:59:20
回答 2查看 90关注 0票数 1

Dennis和Ken的论文UNIX分时系统提到了以下几点

  1. 关于i号的:目录条目只包含关联文件的名称和指向文件本身的指针。此指针是一个名为文件的i-号(用于索引号)的整数。
  2. 关于system-calls:,和创建,返回的值( open和create)称为文件描述符。它是一个小整数,用于标识后续调用中的文件。
  3. open/create:的目的打开或创建系统调用的目的是通过搜索显式或隐式命名目录将用户给定的路径名转换为i-号。

这是否意味着文件描述符只是文件的i号?还是我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-30 23:07:56

UNIX中的文件描述符基本上只是当前进程打开的文件数组的索引。

inode编号是文件系统inode表的索引。

所以它们基本上只是整数,是数组的索引,但它们是完全不同的,无关的数组的索引。所以他们之间没有联系。

票数 2
EN

Stack Overflow用户

发布于 2022-10-01 15:20:57

除了Chris的答案之外,inode号和文件描述符号不仅不直接相关,而且它们也不实用。

Inode编号对于每个文件系统都是唯一的。想象一下,如果您使用inode编号fileA在文件系统(例如,/mnt)上打开了fileB,并且在同一过程中也在另一个文件系统(例如,/mnt2)上打开了fileB,该文件系统的inode编号也恰好是100。在这种情况下,文件描述符应该是什么?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73914662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档