簡體   English   中英

什么是文件系統協議,它如何工作?

[英]What is a filesystem protocol and how does it work?

作為示例,我將選擇Plan9的文件系統協議9P(又名Styx)。 正如Wikipedia中的文章所述:

9P是開發為(...)作為連接Plan 9系統組件的方式的網絡協議

從編程的角度來看,我想知道構建此類模塊通信系統應使用哪些技術。 支持該協議的操作系統(閱讀Unix派生產品)有哪些要求?

以我的理解,整個網絡的每個組件( id est ,應用程序,模塊)都必須具有一個專用控制器(或者該控制器是否應在整個系統中共享?),以便能夠發送請求和接收響應,並具有執行翻譯的能力單個應用程序的內部邏輯和通信協議本身之間的任務(可能是特定語言,例如XML ?、數據庫,甚至某種文件系統的信息反射?)。 從這個角度(我的觀點),可以將所描述的系統定義為客戶端-服務器體系結構的一種變體,但是可以將其投影到本地或受限制的網絡范圍,並着重於直接數據訪問和效率。 這就是我如何看待文件系統協議的設計...

我剛剛開始研究操作系統的過程/應用程序通信技術,並想開發一個小型文件系統協議以了解該概念的實際作用。 由於理論基礎的泄漏,我沒有任何實際而具體的工作計划,因此,歡迎您提供任何解釋,文獻建議,示例和評論!

您可以在/sys/doc部分(或在線htmlpspdf )中閱讀有關Plan9網絡的所有信息。

這種工作的高級方式類似於您的理解,系統具有17條協議消息(諸如opencreatewalkremove類的東西)。 有一個RPC機制,負責從服務器發送和接收消息。 這是這篇論文的引文:

內核數據結構channel是文件服務器的句柄。 通道上的操作會產生以下9P消息。 sessionattach消息對通過9P外部方式建立的連接進行身份驗證,並驗證其用戶。 結果是引用服務器根目錄的經過身份驗證的通道。 clone消息使新通道與現有通道相同,非常類似於dup系統調用。 可以使用walk消息將頻道移至服務器上的文件,以降低層次結構中的每個級別。 statwstat消息讀取和寫入通道引用的文件的屬性。 open消息准備用於隨后的信道readwrite的消息,以訪問該文件的內容。 Createremove在通道引用的文件上執行其名稱所隱含的操作。 clunk消息丟棄一個信道,而不會影響該文件。

Plan9的巧妙之處在於該接口在操作系統中無處不在。 該接口(文件服務器)提供了很多東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM