9P(九號項目文件系統協議)
9P是一個為貝爾實驗室9號項目(一個分布式操作系統)所制定的網絡協議,用於這個分布式操作系統的不同部件。文件是這個操作系統的關鍵要素,代表的是窗口、網絡鏈接、進程以及任何操作系統中有效的東西。
9P計划的第四版叫做9P2000,有如下改進:刪除了某些文件名的限制,為目錄添加了最后修改元數據域,添加了認證文件。
u9fs是基於Unix的9P服務器版實現
實現
9P在客戶端和服務器端傳送以下信息:
- 版本:協商協議版本
- 錯誤:返回錯誤
- flush:終止一個消息
- 連接:建立一個連接
- walk:下降一個目錄層次
- 創建/打開:為現有文件或已經存在的文件I/O准備fid
- 讀/寫:轉移數據進/出文件
- 舊的:遺忘一個fid
- 移除:從服務器端刪除一個文件
- stat:獲取或者改變文件屬性