我对操作系统感兴趣。因此,我正在阅读xv6的书来理解操作系统。这是我关于这个问题的第一本书。我读了一句我听不懂的话。
在内部,xv6内核使用文件描述符作为每个进程表的索引,这样每个进程都有一个从零开始的私有文件描述符空间。
我认为文件描述符表示可以写入或读取的数据流。这是如何与流程表相关联的?文件描述符表不是进程表示其打开的文件资源的内存的一部分吗?
提前感谢!
发布于 2020-01-14 07:14:24
你对此的理解是正确的。文件描述符表是单个进程内存的一部分(对于进程来说,表中的索引是可用的,而表本身是用户空间进程不能直接访问的内核结构;但是表或表的一部分仍然是特定于进程的)。
案文也是这样说的:
...将文件描述符用作每个进程表...的索引。
这是另一种表示“将文件描述符用作特定于每个进程的表的索引”的方法。
https://unix.stackexchange.com/questions/561972
复制相似问题