Process
文件描述符與程序表有什麼關係?
我對作業系統感興趣。所以我正在閱讀 xv6 書以了解作業系統。這是我關於這個主題的第一本書。我讀了一句我聽不懂。
在內部,xv6 核心使用文件描述符作為每個程序表的索引,因此每個程序都有一個從零開始的文件描述符的私有空間。
我認為文件描述符代表可以寫入或讀取的數據流。這與程序表有何關聯?文件描述符表不是代表其打開文件資源的程序記憶體的一部分嗎?
提前致謝!
你的理解是正確的。文件描述符表是單個程序記憶體的一部分(表中的索引可供程序使用,而表本身是一個核心結構,不能從使用者空間程序直接訪問;但是表或部分表,但仍然特定於該過程)。
這也是文中所說的:
$$ … $$使用文件描述符作為每個程序表的索引$$ … $$
這是“使用文件描述符作為特定於每個程序的表的索引”的另一種說法。