History
“文件描述符”中“描述符”的詞源
單詞描述符的選擇總是讓我覺得很奇怪。“索引”或“id”似乎是更明顯的選擇。選擇“描述符”一詞是否有已知的理由?
我猜“描述符”在概念上通常比數字更關鍵,但有時它確實非常數字,所以猜測似乎很弱。
鑑於該術語可以追溯到 1970 年代初期,因此您應該在此處尋找該術語的“當代”含義。同樣,作為行話,您應該根據開發人員的經驗來查看當時流行的語言。
例如,您可以在 Algol 和 Algol 的使用中找到術語描述符(Burroughs 機器,引自**The Architecture of the Burroughs B5000 - 20 Years later and Still Ahead of the Times? by Alastair JW Mayer):
這**
descriptor
*是二十年前推出的 B5000 最新穎的功能之一。事實上,Burroughs 發表了對 B5000 系統的描述並將其命名為“描述符”*(副標題為“B5000 資訊處理系統的定義”)。描述符僅用作數組訪問機制,允許邊界檢查(由硬體自動完成)以及簡化動態數組分配(在 ALGOL 機器中必不可少)。它還允許區分字數組和字元串,並且可以指示字元的大小(以位為單位)。然而,它比這更強大。“二十年前”指的是 1960 年代初期,將其置於 Unix 開發人員的直接背景中。
文件描述符(恰好是一個整數,但早期的 Unix 程式碼對整數和指針之間的區別並不關心)標識文件的一組屬性,就像標準 I/O
FILE*
一樣。Multics 也使用了術語描述符,儘管(參見*Multics 虛擬記憶體:概念和設計*)它更多地出現在用於記憶體管理的術語中。
進一步閱讀:
- 5. ALGOL W的實現(Algol 上的軟體保存項目頁面)
- Burroughs B5000 描述符
- Burroughs B5000 的建築(Alastair JW Mayer)