熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

虛擬文件系統(VFS)簡介:前言

2013-11-13 15:56:43  來源: Oracle 

  Linux是目前蠻熱門的一個操作系統很多人都知道它很是免費的而且它也很穩定更重要的是它不會出現藍色畫面可是你知道嗎? Linux所支持的檔案系統高達十幾個除了為它量身打造的Ext之外它還支持了MinixFATVFATNFSNTFS…等等有沒有想過它是怎麼做到使得可以同時支持十多個檔案系統呢? 沒錯就是VFS也就是這篇文章的重點在這篇文章裡我會跟各位介紹Linux檔案系統的結構VFS所扮演的角色
  
  Linux檔案系統結構
  圖
  Linux的檔案系統在外型上其實跟UNIX檔案系統是一樣的它是一個反轉過來的樹最上層是系統的根目錄也就是/系統根目錄底下可以是目錄也可以是檔案目錄裡也可以包含目錄檔案等如此就形成一個反轉過來的樹我們知道在Windows如果你有二個partition一個叫C另一個叫D當你要到D這個partition時只要打D:就可以了但是在Linux裡可不是這樣要去讀取另一個partition的資料必須要經由mount的動作
  
  mount t ext /dev/hda /mnt
  
  就會將硬盤第三個partition掛在/mnt這個目錄底下Mount完之後/mnt原本的內容會看不到只會看到hda裡的內容其中/mnt我們稱為hda的mount point而/mnt這個目錄則是被hda所cover經過mount以後我們就可以經由/mnt去讀取hda的內容就好象hda的內容本來就放在/mnt底下一樣整個過程如圖所示
  
  圖(a)是原本的檔案結構(b)則是hda這個partition的內容將hda mount到/mnt之後整個檔案系統就變成圖(c)的樣子不管如何Linux會保持其檔案系統為一個tree的形狀這樣mount下去我們很容易可以推想到從根目錄開始的這個tree很有可能包含好幾種的檔案系統可能掛在/mnt上的是Ext檔案系統掛在/home上的是FAT而掛在/cdrom上的則是iso檔案系統我們知道當使用者去讀取這些目錄裡的內容時他本身是不用去管這個目錄掛的檔案系統是什麼基本使用者也不會感到有什麼不同而就programmer的觀點來看我們也不會說去讀/mnt裡的檔案和去讀/home裡的檔案要下不同的參數Linux是怎麼做到這一點的呢? 它就是利用VFS來做到的

From:http://tw.wingwit.com/Article/program/Oracle/201311/17558.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.