作業系統 第十一章 檔案系統簡介
第十一章 檔案系統簡介 檔案基本概念 檔案屬性 檔案操作 檔案型態 檔案配置表 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要
檔案基本概念 完整的檔案系統包含三個部分: 檔案 目錄結構 分割 利用檔案名稱來區分不同的檔案 主檔名 副檔名(延伸檔名)
檔案屬性 檔案屬性值 型態 位置 大小 保護 擁有者 日期資訊 屬性值的作用 檔案在存取時更加方便。 管理上更加容易。
檔案操作 使用者行程透過系統呼叫來完成檔案存取。 檔案操作 建立檔案 讀取檔案 寫入檔案 刪除檔案 屬性更改
檔案型態 構成檔案的兩個重要元素: 大部分的作業系統利用副檔名來辨別檔案型態,如: 檔案型態(檔案存取資訊) 檔案結構(檔案內容格式) 常用副檔名 代表意義 執行檔 exe,bin,com 或是無副檔名 可在系統中產生程序的可執行檔,一般是由程式原始碼編譯後產生。
檔案配置表 檔案配置表中所儲存的兩種主要資料: 檔案名稱 檔案在實體磁碟所佔有的位置 當系統需要使用某檔案時,只要搜尋檔案配置表便可以取得檔案在磁碟中所佔有的實體位置。透過對儲存媒介的資料讀取要求,便可獲得所需要的檔案內容。 索引 檔案名稱 相關資訊 磁碟指標 main.c … 1 index.html
第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 檔案存取 存取權限 存取群組 目錄結構 目錄存取與保護 一致性語意 摘要
檔案存取與保護 預防磁碟實體上的資料損毀 檔案存取權限的管制 最常見的方法就是定期地備份整個檔案系統中的資料。 對於檔案,讀取、寫入以及執行等使用權限的設定。
檔案存取 最常使用的檔案存取方法有下列三種: 循序存取 利用檔案指標從頭開始往後移動,便可循序讀取整個檔案內容。 檔案結尾(end of file) 讀或寫 檔案開頭(begin of file) 檔案指標(file pointer)
檔案存取(續) 檔案存取的方法 隨機存取 檔案由多個大小固定的區塊所組成,可直接將檔案指標移動到某個特定的區塊,並一次讀取整個區塊。 區塊 檔案開頭 檔案結尾
檔案存取(續) 檔案存取的方法 索引存取 針對檔案事先做好的索引結構來進行讀取。 姓 名 指 標 王二 李四 張三 編 號 性 別 年 齡 姓 名 指 標 王二 李四 張三 編 號 性 別 年 齡 2476 男 12
存取權限 檔案系統會加以管制的幾種檔案存取權限: 將一個檔案可能會進行的存取權限分門別類之後,便可以針對各個不同的存取作控管。 讀取(Read) 寫入(Write) 執行(Execute) 擴展(Append) 刪除(Delete) 表列(List) 將一個檔案可能會進行的存取權限分門別類之後,便可以針對各個不同的存取作控管。
存取群組 減少存取的方式 將使用者分類,同一類使用者擁有相同的存取權限。如 Unix 系列的作業系統分為: 讀取(Read) 修改(Write) 執行(Execute) 將使用者分類,同一類使用者擁有相同的存取權限。如 Unix 系列的作業系統分為: 擁有者(Owner) 群組(Group) 其他(Other)
存取群組(續) 檔案的存取控制列表 索引 檔案名稱 檔案擁有者 所屬團體 其他使用者 其他資訊 檔案指標 view.gif RWX R - view.gif RWX R - … 1 test.exe RW 2 config.bin n
第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 單層目錄 雙層目錄 樹狀目錄 非循環圖狀目錄 一般圖狀目錄 目錄存取與保護 一致性語意 摘要
目錄結構 分割可分為 每個磁碟的分割都有裝置目錄或卷表 主要分割 延伸分割 用來記錄此分割中的所有目錄及檔案資訊。 存有作業系統及相關系統檔案供電腦啟動 延伸分割 可再細分為數個邏輯分割,主要是用來儲存使用者的檔案。 每個磁碟的分割都有裝置目錄或卷表 用來記錄此分割中的所有目錄及檔案資訊。
單層目錄 在一個分割中,使用者可以建立多個目錄,在每個目錄中也可以放置多個檔案,這樣利用目錄結構來儲存檔案,稱為單層目錄。 分 割 bin 分 割 bin dev sbin boot etc 檔案
雙層目錄 單層目錄結構未考慮到多使用者共用的檔案系統,故採用雙層目錄。 分割/根目錄 Kevin Tom 檔案 Frank bin dev 目 錄
樹狀目錄 雙層目錄結構可視為簡單的樹狀結構,但缺乏使用上的彈性。 大多數的作業系統都是以樹狀目錄結構的檔案系統為基礎。 目錄中還可以再建立子目錄,子目錄與檔案也可以並存於同一個目錄中。 系統實作時需注意到: 檔案與目錄的區分,因為檔案與子目錄可以同時存在於同一個目錄之下。
樹狀目錄(續) 分割/根目錄 bin home boot etc Mike Jason Docs snmp 檔案
非循環圖狀目錄 共用目錄 利用符號鏈結(symbolic link)連結到共用目錄。 保護機制 可以任意存在於檔案系統中。 利用符號鏈結(symbolic link)連結到共用目錄。 保護機制 當一個使用者讀取某個檔案時,必須將該檔案鎖定(Lock)。 必須定期搜尋檔案系統中的無效符號鏈結,然後將其刪除並回收磁碟空間。
非循環圖形目錄(續) 分割/根目錄 boot home etc Mike Jason Docs utility 檔案
一般圖狀目錄 最大問題 檔案搜尋時,必須判斷該目錄是否已經被搜尋過,以避免無窮迴圈。 分割/根目錄 bin home etc Mike Jason utility 檔案
第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 目錄存取指令 目錄與檔案路徑 目錄存取保護 檔案系統掛載 一致性語意 摘要
目錄存取指令 在某些檔案系統中,目錄也是被當成一般檔案來處理,只是會另外加上一個可供分辨的特殊字元。 存取指令 搜尋 新增檔案 刪除檔案 更改檔名
目錄與檔案路徑 若所要存取的檔案不在同一層目錄中,就必須加上目錄路徑的參數。 目錄路徑可分為兩種 絕對路徑 相對路徑 從磁碟的分割代號(或根目錄)開始。 相對路徑 以現行目錄作為參考位置對所要指定目錄的相對位置。
目錄存取保護 為了安全性的考量 目錄的存取保護實作上的問題 針對不同的使用者或是群組作存取權限上的控管。 必須考慮是否也實作在其子目錄中。 若父目錄與子目錄設定不同,要如何取捨。
檔案系統掛載 一個檔案系統必須經過安裝才能開始運作。 作業系統中給予檔案系統一個名稱,以及連結上此檔案系統的掛載點(mounting point)。 透過之前所給予的掛載點,便可以讀取到其中的目錄結構。 掛載的檔案系統甚至可以是網路上其他電腦中的檔案系統。
第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 UNIX 語意 Session 語意 Immutable 語意 摘要
一致性語意 用來評估支援共享檔案系統的一項重要判斷標準。 規定當多個使用者同時存取共享檔案時所要採用的策略。 三種常用的一致性語意 UNIX 語意 Session 語意 Immutable 語意
UNIX 語意 UNIX 系統中所採用的策略。 檔案存取直接對應到磁碟實體儲存位置上。 其他使用者可立即從實體區塊中看到修改後的結果。 以資源(Resource)的互斥(Mutual Exclusion)作為實際上的應用。 每次都只會有一個使用者將修改的資料寫入實體磁碟區
Session 語意 將檔案關閉並重新開啟(完成一個Session後)才會反映該修改的結果。 檔案存取對應到暫時的映像(image) 問題 其他使用者不可立即從實體區塊中看到修改後的結果。 問題 先將檔案資料回存的使用者可能會失去其所修改的結果(遭後者覆蓋)。
Immutable 語意 檔案在被建立者宣告為共享後,任何使用者皆不可修改其中的內容 檔案的名稱亦不可被重複使用。 這種語意在分散式系統中比較自然 分散式系統的檔案共享基本上就是只允許唯讀的。
摘要 (1) 檔案主要目的 讀取方式 檔案配置表 儲存使用者以及系統所需要的資料。 循序存取 隨機存取 索引存取 檔案名稱與磁碟實體儲存位置的對應。 儲存該檔案的相關資料。
摘要 (2) 存取權限的保護 目錄的架構 讀取 寫入 執行 最基本的單層目錄 以使用者作為目錄分類的雙層目錄 可任意建立目錄的樹狀目錄 可共享檔案的非循環圖狀目錄 可建立符號鏈結的一般圖狀目錄
摘要 (3) 一致性語意 用來評估支援共享檔案系統的一項重要判斷標準,該語意規定當多個使用者同時存取共享檔案時所要採用的策略。 常用的三種一致性語意 UNIX 語意 Session 語意 Immutable 語意