作業系統原理(三)——檔案系統(File system)

來源:互聯網
上載者:User

標籤:

檔案系統(File system)

1. 檔案

  首先要說檔案的定義,檔案是進程建立的資訊邏輯單元。

  由於磁帶和光碟片的效能較低,磁碟使用的較多。這裡討論檔案儲存在磁碟中的情況。磁碟可被認為是固定塊兒大小的線性序列。

  在作業系統看來,檔案就是一個個位元組流,作業系統不管這個檔案的內容(不管它是.mp3音頻檔案,或者.jpg圖片檔案,在應用程式看來才有這種區分)。檔案在作業系統眼中只有3種:普通檔案、目錄檔案、特殊檔案。

  檔案的命名:

    在Linux中,檔案名稱大小寫敏感;目錄分隔字元“/”絕對不能出現在檔案名稱中。

    在Windows中,檔案名稱大小寫不敏感;盤符“:”絕對不能出現在檔案名稱中(其實還有很多符號不能出現在檔案名稱中...Linux不清楚其他限制)。

  應用程式識別檔案類型:

    Windows:副檔名;

    Linux:檔案頭部。

 

2. inode

  檔案系統中,有一個叫inode的結構,它與真實的檔案一一對應,用來記錄這個檔案的各種屬性:許可權、所有者、建立時間、最近修改時間等等。

 

2.1 inode的作用

  已經提過inode用來記錄檔案屬性,更用來記錄檔案在磁碟中的位置,要找到檔案必須通過它的inode。每一個inode都有唯一的編號。目錄檔案的內容就是檔案名稱和其對應的inode。沒錯,檔案名稱是儲存在它的上層目錄中的,所以對檔案夾有寫入權限的使用者可以任意刪除此檔案夾中的內容,即使這個使用者對被刪除的檔案沒有任何許可權。

  inode中還儲存著檔案的大小,以及檔案在系統中的儲存位置,那麼它怎麼儲存檔案在磁碟上的位置呢?進一步看inode的結構。

 

2.2 inode的結構

  一個檔案的可能會佔一個、多個或很多很多的塊兒。在ext2檔案系統中,一個磁碟塊兒的大小為1K,一個inode佔用128Bytes,其中60個位元組用來存指標,指向檔案在磁碟中的位置。每個指標需要4個位元組,共15個指標。檔案可能佔用很多很多的塊兒,15個指標被設計為:

  前12個指標:直接指標,指向檔案在磁碟中的位置,可表示最大12K的檔案;

  第13個指標:間接指標,指向一個磁碟塊,這個記憶體塊中儲存著1024 / 4 = 256個直接指標,容量256K;

  第14個指標:二級間接指標,指向一個磁碟塊,這個記憶體塊中儲存著1024 / 4 = 256個間接指標,容量256 * 256K = 64M;

  第15個指標:三級間接指標,指向一個磁碟塊,這個記憶體塊中儲存著1024 / 4 = 256個二級間接指標,容量256 * 256 * 256K = 16G;

  故ext2檔案系統最大支援12K + 256K + 64M + 16G ≈ 16G的檔案。

 

3. 硬串連(Hard links)和軟串連(Soft links)

  串連用於檔案分享權限設定。串連分為硬串連和軟串連。

  硬串連,多個檔案名稱對應同一個inode。當一個inode對應的檔案名稱個數為0時,這個inode和對應的檔案才會被真正刪除。即若檔案a和b指向同一個inode,這時刪除檔案a,這個檔案並不會被真正刪除,因為還有檔案名稱b指向這個inode。永久連結不能跨磁碟,不能跨檔案系統。

  軟串連,又叫符號串連(symbolic link),建立一個檔案,這個檔案包含了另一個檔案的路徑名,這個檔案對應一個inode。即檔案a指向一個inode,建立一個軟串連b指向a。這時刪除a,檔案會被真正刪除。b依然存在,但是已經失效。符號串連只是一個引用,或者一個捷徑。符號串連可以跨磁碟,可以跨檔案系統。

  

  

作業系統原理(三)——檔案系統(File system)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.