建体彩网|中彩网双色球连号|
?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳門黃金城官網網:服務器診所 使虛擬文件系統工作

?

“不親身考試測驗就不會明白它是多么有用”。當有人對我這么說時,我一直的反映便是覺得說這話的人對所說的功能不敷懂得,以是沒法說清楚。然則,對付虛擬文件系統,切身經歷奉告我說這話的人是對的。 Jeffrey Hobbs 是 ActiveState Corp. 的高開拓職員,我們倆都見識了應用虛擬文件系統(VFS)可以實現多么弗成思議的強大年夜功能。

簡單的構想,重大年夜的成果

VFS 背后的構想很簡單:它將不是文件系統的事物表示為文件系統。這里的 文件系統指的是“傳統的類 Linux 文件系統”:由可直接造訪的目錄和(通俗)文件構成的樹或層次布局。當然,這個觀點會激起所有 Linux 用戶的興趣,由于 Linux 本身的許多特性都源自 UNIX 文件系統內對設備、表和其它工具的表示。UNIX 建立在如下原則之上:每樣器械(或者至少是許多器械)都是文件;VFS 將這一原則加以推廣,將盡可能多的器械當作是文件系統。

注:Linux 內核工程師也談到了 VFS,但意義不合。本月的專欄文章 不是關于 Linux 虛擬文件系統互換器的,該互換器將文件系統驅動法度榜樣分派給 ext2、ext3、reiserfs 等等。

對 VFS 的一種見地是:它是某種技巧或觀點的另一個示例,用自力開拓職員 Jean-Claude Wippler 的話說,這種技巧“使 OS 和高檔說話情況之間的邊界變得隱隱”。別的,“系統辦事”在利用法度榜樣開拓說話中的呈現使可移植性變得更為輕易,由于操作系統從視野中消掉。

那么,哪類器械本身不是文件系統,但用這種要領表示卻異常有用呢?這有許多:可以經由過程 FTP、澳門黃金城官網網HTTP、WebDAV 或其它收集協議造訪的文件; .zip 文件、CVS(并發版本節制系統,concurrent versions system)或其它歸檔文件的內容;數據庫表;受安然性或其它約束限定的真正文件系統的投影(projection);及其它。

輕易看出這樣的資本可以以自然的要領映射到文件系統。假定 example.zip 壓縮了下面這些文件:

first

subdir1/second

subdir1/third

subdir2/fourth

該歸檔文件很可能創建為現有文件系統樹的直接(局部)映像,以是自然可以用有根樹表示:

./first

./subdir1/second

./subdir1/third

./subdir2/fourth

許多在業界有影響的產品都依附于 VFS。象日志記錄文件系統這樣的 DB2 功能部件的體系布局就寄托于 VFS 模型。眾所周知的 Zope 利用法度榜樣辦事器供給了一個頗有尋釁性的 VFS 示例。Zope 的“得到(acquisition)”觀點將法度榜樣化的工具映射成 URL。在 Zope 中,類似于下面這樣的措施調用:

context.myproject.object1.method1(year = "1999")

相稱于對下面這個 URL 的 HTTP 哀求:

http://myzope.com/myproject/object1/method1?year=1999

看出此中的優點了嗎?VFS 和 UNIX 的“統統均是文件”的觀點也很相似,由于這個設法主見很輕易理解和仿照,然則要意識到它能將利用法度榜樣設計簡化到哪種程度,還必要花幾年工夫。

我們來鉆研一個示例。假定您已經編寫了一個文本編輯器;它供給了造訪、讀取、改動零丁文件以及將它們寫回到存儲器的措施。假如應用文件系統“虛擬器”,立即就可以應用所有相同的代碼來瀏覽 FTP 或 ZIP 歸檔文件,選擇、改動并保存零丁的項。您擁有在操作本地文件時能很好地事情的瀏覽器、備份實用法度榜樣、安然性掃描法度榜樣或版本節制系統嗎?對其文件系統造訪進行虛擬化,它立即就可以對 .tar 文件、老式磁帶盤和只能經由過程虛擬專用網(VPN)造訪的公司資本進行操作。供應商愛好把這樣的附件賣到數千美元。VFS 卻免費供給了這樣的功能。

清單 1. 在 Tcl 中應用 VFS

package require vfs::urltype

vfs::urltype::Mount ftp

# With VFS activated, normal Tcl file commands

#  can copy files even to and from FTP servers.

file copy ftp://foo.bar.com/pub/Readme .

file copy myfile ftp://user:[email protected]/private.txt

pack澳門黃金城官網網age require vfs::zip

vfs::zip::Mount foo.zip foo.zip

# foo.zip is now part of the normal filesystem hierarchy.

cd foo.zip

# Within subdir1 on foo.zip, list all items.

set listing [glob -dir subdir1 *]

大年夜多半說話都有造訪 FTP 或 ZIP 的對象。從這個意義上說,VFS 類似于面向工具的高檔說話或運行時庫:它不供給任何新內容,您可以自己編程來做 VFS 可以做的任何事。然則,有了 VFS,資本治理就變得異常輕易且加倍合理。它不是個很難的觀點;只是個很好的觀點澳門黃金城官網網。

VFS 簡化了許多有趣的問題。Tcl 法度榜樣員今朝正在處置懲罰類似于下面這樣的問題:

版本化的可動態裝入庫的集中壓縮歸檔文件

智能收集代理法度榜樣

高檔的“混雜介質”備份治理器

我已經試驗過“活動系統文件”的可編程性。可以把它們看作某些說話所支持的“特點”。特點是其造訪會包括寫操作副感化的屬性:

result = thing.property

可能不光是從內存檢索“property”的值澳門黃金城官網網,而有可能涉及這樣的謀略:在收集上傳送數據、反省系統狀態,等等。類似地,當我寫:

file copy report.pdf backup

這不僅僅是將文件復制到目錄中,而是要根據情況天生文件并履行其它操作。

面向特點的編程因其副感化較多,而被覺得是“危險”的,基礎上,用顯式存取措施不能完成的操作,它也肯定完成不了。然而,它這種樣式仍得當某些情形,而且我發明活動文件系統至少無意偶爾候要比它們所替代的 makefile 和腳本更輕易編碼。

停止語

Tcl 在其 VFS 成熟性方面方法先于其它說話;它已包攬理了字符編碼澳門黃金城官網網、I/O 體系布局和機能約束方面的難題,這些難題在其它說話社區中現在才剛開始顯現。然則,您不必然非要應用 Tcl 才能利用 VFS 的 思惟。您自己的編程能從更為同等的造訪類文件資本的要領中獲益嗎?大年夜多半今世說話都供給了某種擴展內置構造的措施,是以可以用更同等和功能更強大年夜的要領來編碼 I/O。

異常多的法度榜樣員致力于開拓 Tcl 的 VFS 功能,對其它說話做類似事情的人就更多了。除了起初提到的開拓職員,別的分外值得一提的是 ActiveState 的 Andreas Kupries(他鉆研了 I/O 通道)以及 GE 的 Kevin Kenny(他已經鉆研了 VFS 引起的“自舉”問題)。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

建体彩网
2018最火的手游排行榜 极速飞艇 澳门极速快乐十分 广西11选5首尾连号法是什么意思 体彩7星彩18090期 超级大乐透 赚钱所需要什么条件 山东11选5首页 三分彩计划软件下载 安徽时时彩走势图百度百度贴吧