既然有了inode number,何必再多 引入一个file descriptor呢?

对文件进行操作时,首先要调用open(). open( )的函数原型是这样:

int open(const char *pathname, int flags);

它的返回值是一一个整形数,也就是一个file descriptor.最终操作系统会通过这个file descriptor找 到文件的inode.那么为什么它不直接返回一个inode number呢?找到inode number,不是就找到那 个文件了吗?文件的操作,最终都是针对inode和文件内容的操作,既然有了inode number,何必再多 引入一个file descriptor呢?请详细说明。

一个文件有很多信息的,如文件大小,创建时间,文件类型,是否只读等等,文件描述里面都有这些信息。