Presentation is loading. Please wait.

Presentation is loading. Please wait.

作業系統 Operating System 第四單元 檔案系統

Similar presentations


Presentation on theme: "作業系統 Operating System 第四單元 檔案系統"— Presentation transcript:

1 作業系統 Operating System 第四單元 檔案系統
嵌入式軟體設計培訓班 作業系統 Operating System 第四單元 檔案系統 薛智文 Chih-Wen Hsueh x322, DTH 322 96 October 慶齡中心

2 大綱 概述 行程管理 記憶體系統 檔案系統 輸出/輸入 分散式系統 簡介 硬體結構 作業系統結構 行程 排程 同步與死結 行程相關實作
記憶體管理 虛擬記憶體 記憶體管理實作 檔案系統 檔案系統簡介 檔案系統實作 檔案系統實例 輸出/輸入 輸出/輸入系統 大量儲存結構 系統服務常式 分散式系統 分散式系統簡介 分散式檔案系統 分散式協調 分散式系統實例 00:13 /115

3 第四單元 檔案系統 檔案系統簡介 檔案系統實作 檔案系統實例 00:13 /115

4 作業系統 第四單元 檔案系統 第十一章 檔案系統簡介

5 第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 檔案屬性 檔案操作 檔案型態 檔案配置表
00:13 /115

6 檔案基本概念 完整的檔案系統包含三個部分: 利用檔案名稱來區分不同的檔案 檔案 目錄結構 分割 主檔名 副檔名(延伸檔名) 00:13
/115

7 檔案屬性 檔案屬性值 型態 位置 大小 保護 擁有者 日期資訊 屬性值的作用 檔案在存取時更加方便。 管理上更加容易。 00:13 /115

8 檔案操作 使用者行程透過系統呼叫來完成檔案存取。 檔案操作 建立檔案 讀取檔案 寫入檔案 刪除檔案 屬性更改 00:13 /115

9 檔案型態 構成檔案的兩個重要元素: 大部分的作業系統利用副檔名來辨別檔案型態,如: 檔案型態(檔案存取資訊) 檔案結構(檔案內容格式)
常用副檔名 代表意義 執行檔 exe,bin,com 或是無副檔名 可在系統中產生程序的可執行檔,一般是由程式原始碼編譯後產生。 00:13 /115

10 檔案配置表 檔案配置表中所儲存的兩種主要資料:
檔案名稱 檔案在實體磁碟所佔有的位置 當系統需要使用某檔案時,只要搜尋檔案配置表便可以取得檔案在磁碟中所佔有的實體位置。透過對儲存媒介的資料讀取要求,便可獲得所需要的檔案內容。 索引 檔案名稱 相關資訊 磁碟指標 main.c 1 index.html 00:13 /115

11 第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 檔案存取 存取權限 存取群組 00:13
/115

12 檔案存取與保護 預防磁碟實體上的資料損毀 檔案存取權限的管制 最常見的方法就是定期地備份整個檔案系統中的資料。
對於檔案,讀取、寫入以及執行等使用權限的設定。 00:13 /115

13 檔案存取 (1) 最常使用的檔案存取方法有下列三種: 循序存取 利用檔案指標從頭開始往後移動,便可循序讀取整個檔案內容。
檔案結尾(end of file) 讀或寫 檔案開頭(begin of file) 檔案指標(file pointer) 00:13 /115

14 檔案存取 (2) 檔案存取的方法 隨機存取 檔案由多個大小固定的區塊所組成,可直接將檔案指標移動到某個特定的區塊,並一次讀取整個區塊。 區塊
檔案開頭 檔案結尾 00:13 /115

15 檔案存取 (3) 檔案存取的方法 索引存取 姓 名 指 標 王二 李四 張三 編 號 性 別 年 齡 2476 男 12
針對檔案事先做好的索引結構來進行讀取。 姓 名 指 標 王二 李四 張三 編 號 性 別 年 齡 2476 12 00:13 /115

16 存取權限 檔案系統會加以管制的幾種檔案存取權限: 將一個檔案可能會進行的存取權限分門別類之後,便可以針對各個不同的存取作控管。
讀取(Read) 寫入(Write) 執行(Execute) 擴展(Append) 刪除(Delete) 表列(List) 將一個檔案可能會進行的存取權限分門別類之後,便可以針對各個不同的存取作控管。 00:13 /115

17 存取群組 (1) 減少存取的方式 將使用者分類,同一類使用者擁有相同的存取權限。如 Unix 系列的作業系統分為: 讀取(Read)
修改(Write) 執行(Execute) 將使用者分類,同一類使用者擁有相同的存取權限。如 Unix 系列的作業系統分為: 擁有者(Owner) 群組(Group) 其他(Other) 00:13 /115

18 存取群組 (2) 檔案的存取控制列表 索引 檔案名稱 檔案擁有者 所屬團體 其他使用者 其他資訊 檔案指標 view.gif RWX R -
view.gif RWX R - 1 test.exe RW 2 config.bin n 00:13 /115

19 第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 單層目錄 雙層目錄 樹狀目錄
非循環圖狀目錄 一般圖狀目錄 目錄存取與保護 一致性語意 摘要 00:13 /115

20 目錄結構 分割可分為 每個磁碟的分割都有裝置目錄或卷表 主要分割 延伸分割 用來記錄此分割中的所有目錄及檔案資訊。
存有作業系統及相關系統檔案供電腦啟動 延伸分割 可再細分為數個邏輯分割,主要是用來儲存使用者的檔案。 每個磁碟的分割都有裝置目錄或卷表 用來記錄此分割中的所有目錄及檔案資訊。 00:13 /115

21 單層目錄 在一個分割中,使用者可以建立多個目錄,在每個目錄中也可以放置多個檔案,這樣利用目錄結構來儲存檔案,稱為單層目錄。 分 割 bin
分  割 bin dev sbin boot etc 檔案 00:13 /115

22 雙層目錄 單層目錄結構未考慮到多使用者共用的檔案系統,故採用雙層目錄。 分割/根目錄 Kevin Tom 檔案 Frank bin dev
目 錄 00:13 /115

23 樹狀目錄 (1) 雙層目錄結構可視為簡單的樹狀結構,但缺乏使用上的彈性。 大多數的作業系統都是以樹狀目錄結構的檔案系統為基礎。
目錄中還可以再建立子目錄,子目錄與檔案也可以並存於同一個目錄中。 系統實作時需注意到: 檔案與目錄的區分,因為檔案與子目錄可以同時存在於同一個目錄之下。 00:13 /115

24 樹狀目錄 (2) 分割/根目錄 bin home boot etc Mike Jason Docs snmp 檔案 00:13 /115

25 非循環圖狀目錄 (1) 共用目錄 利用符號鏈結(symbolic link)連結到共用目錄。 保護機制
可以任意存在於檔案系統中。 利用符號鏈結(symbolic link)連結到共用目錄。 保護機制 當一個使用者讀取某個檔案時,必須將該檔案鎖定(Lock)。 必須定期搜尋檔案系統中的無效符號鏈結,然後將其刪除並回收磁碟空間。 00:13 /115

26 非循環圖形目錄 (2) 分割/根目錄 boot home etc Mike Jason Docs utility 檔案 00:13 /115

27 一般圖狀目錄 最大問題 檔案搜尋時,必須判斷該目錄是否已經被搜尋過,以避免無窮迴圈。 分割/根目錄 bin home etc Mike
Jason utility 檔案 00:13 /115

28 第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 目錄存取指令 目錄與檔案路徑 目錄存取保護
檔案系統掛載 一致性語意 摘要 00:13 /115

29 目錄存取指令 在某些檔案系統中,目錄也是被當成一般檔案來處理,只是會另外加上一個可供分辨的特殊字元。 存取指令 搜尋 新增檔案 刪除檔案
更改檔名 00:13 /115

30 目錄與檔案路徑 若所要存取的檔案不在同一層目錄中,就必須加上目錄路徑的參數。 目錄路徑可分為兩種 絕對路徑 相對路徑
從磁碟的分割代號(或根目錄)開始。 相對路徑 以現行目錄作為參考位置對所要指定目錄的相對位置。 00:13 /115

31 目錄存取保護 為了安全性的考量 目錄的存取保護實作上的問題 針對不同的使用者或是群組作存取權限上的控管。 必須考慮是否也實作在其子目錄中。
若父目錄與子目錄設定不同,要如何取捨。 00:13 /115

32 檔案系統掛載 一個檔案系統必須經過安裝才能開始運作。
作業系統中給予檔案系統一個名稱,以及連結上此檔案系統的掛載點(mounting point)。 透過之前所給予的掛載點,便可以讀取到其中的目錄結構。 掛載的檔案系統甚至可以是網路上其他電腦中的檔案系統。 00:13 /115

33 第十一章 檔案系統簡介 檔案基本概念 檔案存取與保護 目錄結構 目錄存取與保護 一致性語意 摘要 UNIX 語意 Session 語意
Immutable 語意 摘要 00:13 /115

34 一致性語意 用來評估支援共享檔案系統的一項重要判斷標準。 規定當多個使用者同時存取共享檔案時所要採用的策略。 三種常用的一致性語意
UNIX 語意 Session 語意 Immutable 語意 00:13 /115

35 UNIX 語意 UNIX 系統中所採用的策略。 檔案存取直接對應到磁碟實體儲存位置上。
其他使用者可立即從實體區塊中看到修改後的結果。 以資源(Resource)的互斥(Mutual Exclusion)作為實際上的應用。 每次都只會有一個使用者將修改的資料寫入實體磁碟區。 00:13 /115

36 Session 語意 將檔案關閉並重新開啟 (完成一個session後) 才會反映該修改的結果。 檔案存取對應到暫時的映像 (image)
其他使用者不可立即從實體區塊中看到修改後的結果。 問題 先將檔案資料回存的使用者可能會失去其所修改的結果(遭後者覆蓋)。 00:13 /115

37 Immutable 語意 檔案在被建立者宣告為共享後,任何使用者皆不可修改其中的內容。 檔案的名稱亦不可被重複使用。
這種語意在分散式系統中比較自然 分散式系統的檔案共享基本上就是只允許唯讀的。 00:13 /115

38 摘要 (1) 檔案主要目的 讀取方式 檔案配置表 儲存使用者以及系統所需要的資料。 循序存取 隨機存取 索引存取
檔案名稱與磁碟實體儲存位置的對應。 儲存該檔案的相關資料。 00:13 /115

39 摘要 (2) 存取權限的保護 目錄的架構 讀取 寫入 執行 最基本的單層目錄 以使用者作為目錄分類的雙層目錄 可任意建立目錄的樹狀目錄
可共享檔案的非循環圖狀目錄 可建立符號鏈結的一般圖狀目錄 00:13 /115

40 摘要 (3) 一致性語意 用來評估支援共享檔案系統的一項重要判斷標準,該語意規定當多個使用者同時存取共享檔案時所要採用的策略。
常用的三種一致性語意 UNIX 語意 Session 語意 Immutable 語意 00:13 /115

41 作業系統 第四單元 檔案系統 第十二章 檔案系統實作

42 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 檔案存取 開啟檔案表 共享檔案
00:13 /115

43 檔案系統架構 檔案系統的目的 存取效率上的考量 磁碟主要可分為磁盤與讀寫頭兩大部分 為使用者或是作業系統本身提供大量的資料儲存空間。
在主記憶體與磁碟之間的資料傳輸都是以區塊(block) 作為存取的基本單位。 大部分的檔案系統都會將數個區塊集合成一個磁簇(cluster),並以磁簇為單位進行檔案資料的存取。 磁碟主要可分為磁盤與讀寫頭兩大部分 磁盤中的磁軌是用來儲存資料。 讀寫頭是用來在磁盤上讀取或是寫入資料。 00:13 /115

44 檔案存取 應用程式 邏輯檔案系統 檔案組織模組 基本檔案系統 I/O控制 裝置 行程發出讀取檔案的需求,並提供檔案路徑
測試使用者對於檔案存取要求的權限 將邏輯檔案的路徑值轉換為磁碟機的實體區塊位置 對磁碟機進行讀取實體區塊的要求 進行實際的 I/O 控制 從儲存裝置中實際讀出資料 00:13 /115

45 開啟檔案表 (1) 檔案系統要進行檔案存取的動作 Linux 系列的作業系統 到目錄結構中搜尋指定的檔案
開啟並記錄在一個開啟檔案表(Open File Table)中 Linux 系列的作業系統 每個被開啟的檔案會有一個相對應的檔案描述器(file descriptor) Windows 中有類似檔案描述器的功能 檔案處理器(file handler) 00:13 /115

46 開啟檔案表 (2) 當資料有所更改時 開啟檔案表相關資訊 先在此開啟檔案表中進行修改,待檔案被正常關閉之後,才會將這些資訊寫入磁碟中。
檔案名稱、存取權限、存取日期以及檔案指標等。 索引 檔案名稱 存取權限 存取日期 其他資訊 檔案指標 main.c RWX R - -  - - - 2001/12/1 1 mail.txt RWX RW - R- - 2002/1/23 2 a.out RWX RWX RWX 2002/4/10 n 00:13 /115

47 共享檔案 (1) 共享檔案 一個檔案可能會被鏈結在兩個以上的目錄。 如圖目錄 D 同時被目錄 A 及 B 所鏈結。 分割/根目錄 A B C
G D E F 00:13 /115

48 共享檔案 (2) 任一個鏈結到此共享檔案的目錄中將此檔案刪除時,不會將此共享檔案真正地從磁碟實體區塊中刪除,而只是將此計數減 1 。
當計數等於 0,才將共享檔案刪除。 A C 擁有者: A 計 數: 1 B 計 數: 2 擁有者: B 00:13 /115

49 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 鏈結串列 位元向量 計數 00:13
/115

50 可用空間管理 可用空間(free space)管理機制 常用方法 位元向量(bit vector)
讓應用程式在新增檔案時,可以從未被使用的空間中找到足夠的空間來存放資料。 常用方法 鏈結串列(linked list) 位元向量(bit vector) 計數(counting) 00:13 /115

51 鏈結串列 (1) 將所有的可用空間利用指標串連起來。 使用一個開頭指標指向此可用空間鏈結串列的第一個區塊。 可用空間指標 00 01 02
03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 25 28 29 30 31 32 33 34 00:13 /115

52 鏈結串列 (2) 主要缺點 常用解決方法 若以磁簇為資料存取單位 搜尋效率不佳必須循序地讀取才能得到所有可用空間的區塊資訊。
犧牲第一個區塊的磁碟空間,將其他所有可用空間的實體位置以索引的方式儲存在此區塊中,以加速可用空間的搜尋。 若以磁簇為資料存取單位 可降低額外的紀錄空間(儲存指標)。 可提高存取的速度。 00:13 /115

53 位元向量 每個區塊都是一個獨立的單位,並以一個位元來記錄該區塊是否為可用空間。
若一個磁碟中的第 1、2、4、6、10、11、12、19、23、24、25 個區塊屬於可用空間,其可用空間的位元向量可表示為: ……… 若以磁簇為基本存取單位,則可節省更多額外的紀錄空間。 00:13 /115

54 計數 (1) 可用空間表中的主要紀錄只包含了磁碟位置和計數值。 如圖,從第 2 個區塊開始,有連續 6 個可用空間區塊。 索引 起始值 計數
如圖,從第 2 個區塊開始,有連續 6 個可用空間區塊。 索引 起始值 計數 1 2 6 12 3 17 4 27 5 30 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 00:13 /115

55 計數 (2) 可用空間所在的位置過於分散,也就是外部斷裂(external fragmentation)的情形較嚴重時,這種可用空間的記錄方式反而會比較浪費空間。 00:13 /115

56 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 連續式配置 鏈結串列式配置 索引式配置
00:13 /115

57 檔案配置方法 檔案配置時,必須考慮的重點 常用的三種磁碟空間的配置方法 磁碟空間的有效利用 檔案能否被快速地存取
連續式配置 (contiguous allocation) 鏈結串列式配置(linked list allocation) 索引式配置(indexed allocation) 00:13 /115

58 連續式配置 (1) 搜尋適合可用空間有下列幾種常用的方法: 最先適合(first fit) 最佳適合(best fit)
最差適合(worst fit) 01 02 00 03 04 06 07 05 08 09 11 12 10 13 14 16 17 15 18 19 21 22 20 23 24 26 27 25 28 29 31 32 30 33 34 tree address 檔案名稱 30 2 8 3 記數 list 起始值 17 00:13 /115

59 連續式配置 (2) 連續式配置的主要問題 利用鏈結串列式配置可以解決問題 搜尋可用空間的問題 磁碟空間的浪費問題 外部斷裂 內部斷裂
00:13 /115

60 鏈結串列式配置 (1) 如下圖所示,檔案開頭在第 5 個區塊 第 5 個區塊指向第 6 個區塊 直到第 27 個區塊為止 檔案名稱 起始值
結束值 note 5 27 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 00:13 /115

61 鏈結串列式配置 (2) 優點 缺點 不會有外部斷裂問題 建立新檔案時並不需同時就宣告檔案的大小 檔案只能循序存取 可靠度的問題
若某個檔案的一個指標被破壞,整個檔案就無法再被存取 可利用雙向鏈結串列(double linked list)來解決 00:13 /115

62 索引式配置 (1) 解決鏈結串列式配置的無法隨機存取的問題
所有的區塊指標都集中起來存儲存在一個固定的索引區塊(indexed block)中(編號24) -1 代表整個檔案結束的符號 04 06 27 32 07 -1 檔案 索引區塊 ABC 24 目錄 01 02 00 03 05 08 09 11 12 10 13 14 16 17 15 18 19 21 22 20 23 26 25 28 29 31 30 33 34 00:13 /115

63 索引式配置 (2) 適度地控制索引區塊的大小,有下列幾種方法 鏈結索引 多層索引 組合索引 (如圖) 直接存取 單層索引 雙層索引 資料
00:13 /115

64 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 線性串列 雜湊表格 檔案系統評估 摘要 00:13 /115

65 檔案目錄實作 製作目錄結構時,必須考慮到存取效率與空間使用率的問題 較常用的方法 線性串列(linear list)
雜湊表格(hash table) 00:13 /115

66 線性串列 將所有檔案以及子目錄都串連起來。 實作上比較容易,但不是很有效率。 增加檔案的搜尋效率 利用 B 樹或 B+ 樹來實作。
利用多方搜尋(Multi-Way Search)的方式來搜尋檔案 。 00:13 /115

67 雜湊表格 (1) 雜湊函數輸入值:檔案名稱 雜湊函數輸出值:某個數值範圍內的固定值 搜尋速度較線性串列快得多 1 2 3 … 17 18 雜
目錄 檔案(main.c) 檔案(a.out) 檔案(gin.tar) 1 2 3 17 18 00:13 /115

68 雜湊表格 (2) 碰撞(collision ) 利用雜湊函數對不同檔名所產生的數值重複 解決方法
鏈結串列將所有雜湊數值相同的檔案都儲存在這個鏈結串列上 (如圖) 檔案(link.bin) 檔案(main.c) 1 2 3 . 17 18 檔案(a.out) 目錄 ... 檔案(gin.tar) 檔案(sys.o) ... 00:13 /115

69 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 性能 效率 可靠性 一致性 00:13
/115

70 性能 增進整體檔案系統的性能 利用快取記憶體,可減少磁碟讀寫頭的移動 虛擬磁碟(virtual disk)
將一些可以快速存取的記憶體充當磁碟使用 讓部分檔案存取速度可以像在快取記憶體中存取資料一樣快 記憶體磁碟 程式執行區 檔案開啟表 分頁緩衝區 磁碟機 CPU 磁軌緩衝區 00:13 /115

71 效率 不同的磁碟空間配置方法各有其優缺點。如: 對整個檔案與目錄的結構作深入的分析,並採用其中最適合的方法來實作。
將日期資訊直接儲存在檔案所屬目錄的鏈結表格中 效率較差 將日期資訊與檔案本身存放在一起 缺點是在搜尋同一個目錄中的所有檔案時,可能要存取多個其他區塊中的日期資訊,也會造成效率上的低落。 對整個檔案與目錄的結構作深入的分析,並採用其中最適合的方法來實作。 00:13 /115

72 可靠性 備份(backup) 還原(restore) 差異備份(differential backup)
將檔案系統中的所有資料複製一份,並存放在其他的儲存媒體中 還原(restore) 將備份中資料存回原來的檔案系統中 差異備份(differential backup) 執行過第一次的完整備份之後,之後就只需要將差異的那一部分儲存起來。 缺點 任何一次的差異性備份有所損壞或是遺失時,就無法還原成完整的檔案系統。 00:13 /115

73 一致性 (1) 要確認檔案系統的一致性 正確的區塊檢查結果表 檢查檔案配置以及可用空間的區塊記錄 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 1 使用中區塊 1 未使用區塊 00:13 /115

74 一致性 (2) 錯誤的區塊檢查結果表(重複指派與未指派) 錯誤的區塊檢查結果表(重複的區塊指派) 編號7被可用空間重複計算 1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 1 使用中區塊 1 未使用區塊 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 使用中區塊 1 2 未使用區塊 00:13 /115

75 摘要 (1) 檔案系統的實作 對檔案進行讀寫 實際存取流程 可用空間的管理 檔案資料的區塊配置 檔案目錄實作 檔案系統評估的介紹
從目錄結構中搜尋並開啟該檔案 每個行程都會有一個開啟檔案表來儲存這些開啟檔案的紀錄 00:13 /115

76 摘要 (2) 可用空間 記錄可用空間的方法有 磁碟配置方法 磁碟中沒有被用來記錄檔案資料的磁碟區塊 鏈結串列 位元向量 計數 連續式配置
鏈結串列式配置 索引式配置 00:13 /115

77 摘要 (3) 目錄結構較常使用的方法 線性串列 雜湊表格 評估一個檔案系統必須考慮 性能 效率 可靠性 一致性 00:13 /115

78 作業系統 第四單元 檔案系統 第十三章 檔案系統實例

79 第十三章 檔案系統實例 UNIX檔案系統 Linux檔案系統 Windows 檔案系統 摘要 架構 inode Superblock
00:13 /115

80 UNIX 檔案系統 UNIX 是 Linux 作業系統的基礎架構。 兩者設計的基本概念上所支援的各種檔案系統大同小異。 UNIX 檔案系統
inode Superblock 00:13 /115

81 架構 (1) 磁碟分割會切割成多個固定大小的區塊。 這些區塊依用途可分成三類: UNIX 檔案系統的磁碟區塊分配示意圖 系統相關資訊
儲存目錄與檔案紀錄的 inode 儲存檔案中的資料 UNIX 檔案系統的磁碟區塊分配示意圖 Superblock 開機區塊 inode列表 資料 區塊 …… 00:13 /115

82 架構 (2) 開機區塊 Superblock inode 列表 資料區塊 真正用來儲存檔案資料的地方。
被作業系統保留,用來儲存系統的開機程式碼以及相關資訊。 Superblock 儲存這整個檔案系統的相關訊息。 inode 列表 儲存檔案系統中每個檔案與目錄的相關訊息。 資料區塊 真正用來儲存檔案資料的地方。 00:13 /115

83 inode 主要用途 使用多階層式的索引 記錄檔案系統中的所有檔案以及目錄。 資料少則直接將資料指標指向某個儲存資料的區塊。
資料多則利用索引的方式間接找到所儲存資料的區塊,甚至是多層索引,最多三層。 00:13 /115

84 inode 的基本架構 (1) 模式 擁有者訊息 資料 大小 資料 時間戳記 資料 區塊計數 資料 資料區塊 資料 索引 間接區塊錄 資料
次索引 雙層索引 索引 資料 三層索引 次索引 資料 資料 00:13 /115

85 inode 的基本架構 (2) 模式 擁有者訊息 大小 時間戳記 表示這個 inode 中的資料的意義為何。
以位元為單位來記錄該檔案大小的數值。 時間戳記 記錄該 inode 有關的時間訊息,如建立時間以及最後一次被修改的時間等。 00:13 /115

86 檔案系統控制區塊 每個行程都會有各自的開啟檔案表,開啟檔案表可以容納的檔案個數是固定的。 使用者空間 核心空間 磁碟空間 資料讀取
檔案結構表 inode列表 (核心內) ... 同步 00:13 /115

87 Superblock UNIX 檔案系統中有唯一的一個 Superblock 儲存整個檔案系統的相關資訊。
檔案系統大小(以區塊為單位) 所有 inode 所使用的磁碟空間大小(以區塊為單位) 可用空間的區塊個數以及 inode 個數 可用空間列表 未使用的 inode 列表 00:13 /115

88 第十三章 檔案系統實例 UNIX檔案系統 Linux檔案系統 Windows 檔案系統 摘要 虛擬檔案系統 一般檔案系統 日誌式檔案系統
其他檔案系統 Windows 檔案系統 摘要 00:13 /115

89 Linux 檔案系統 使用者可安裝各式各樣的檔案系統。 Linux 在各種作業系統平台之間的整合能力極佳。
屬於 UNIX 作業系統類的檔案系統多半有較完整的功能實作。 不屬於 UNIX 作業系統類的檔案系統可能會欠缺某些功能。 00:13 /115

90 虛擬檔案系統(Virtual File System, VFS)
虛擬檔案系統 (1) 行程與檔案系統溝通的介面。 Linux 核心中的軟體層 負責處理所有使用者對檔案系統所下的指令 虛擬檔案系統的基本架構 使用者行程 虛擬檔案系統(Virtual File System, VFS) Ext2 Ext3 FAT32 proc 使用者模式 核心模式 00:13 /115

91 虛擬檔案系統 (2) 實體磁碟檔案系統 裝置檔案(device files) Ext2、Ext3 與 FAT-32 proc dev
不是一個佔有實體區塊的檔案系統,而是使用者要存取時才動態產生的。 虛擬檔案系統的目的是為了存取系統核心狀態的資訊 所有可用的裝置都會被儲存在一個樹狀目錄中 devfs on 2.4+ 00:13 /115

92 一般檔案系統 依照不同的作業系統與實作方式,大致上可分為下列幾種: BSD檔案系統 微軟平台檔案系統 Ext2 檔案系統 00:13
/115

93 BSD 檔案系統 BSD 作業系統是另一類的 UNIX 作業系統,其中以 FreeBSD 最為常見。
FreeBSD 所採用的檔案系統稱之為 ufs 主要特色 可以在分割上再建立子分割,每個子分割皆可分別用來建置檔案系統。 00:13 /115

94 微軟平台檔案系統 FAT16 FAT32 NTFS 檔名長度的上限提昇至 255 個字元 只能支援大小為 4 GB 以下的磁碟分割
支援的最大分割容量為2 TB,但是不能支援 512 MB 以下的分割 NTFS 建立在保護檔案與目錄存取機制上,並且兼顧到磁碟空間使用與存取效率的檔案系統 使用不可分割交易的記錄來確保檔案系統的一致性 00:13 /115

95 Ext2 檔案系統 區塊群組(block group)的使用 inode 的使用 多階層的索引方式
數個區塊結合起來,並利用此群組中的空間來儲存檔案與目錄的索引結構。 inode 的使用 每個 inode 都會對應到一個檔案或是目錄。 多階層的索引方式 可以快速地找到所需要的檔案資料。 00:13 /115

96 區塊群組結構 (1) 單區塊 區塊 群組 Super block 描述器 資料區塊 位元映射 inode 資料 列表 多區塊
區塊 0(開機資訊) ‧‧ 00:13 /115

97 區塊群組結構 (2) Superblock 群組描述器 區塊位元映射
記錄區塊群組中的相關資訊,如區塊數目、inode 數目以及區塊大小等資料。 群組描述器 記錄資訊包含可用區塊的數目、區塊群組的目錄數量、區塊位元映射(block bitmap)以及 inode 位元映射(inode bitmap)的記錄位置。 區塊位元映射 記錄區塊群組中的資料區塊使用情況。 00:13 /115

98 區塊群組結構 (3) inode 位元映射 inode 列表 記錄著該資料區塊已被用來當作 inode 使用。
00:13 /115

99 可用空間的配置 ︴ 已配置區塊 可用區塊 位元組邊界 選取區塊 搜尋方向 位元邊界 配置連續的可用區塊 配置不連續的可用區塊 00:13
/115

100 日誌式檔案系統 (1) 最大的特色 此檔案系統包含 所有磁碟的寫入動作都會被記錄下來,以便有需要的時候可以追蹤。 Reiser 檔案系統
Ext3 檔案系統 00:13 /115

101 日誌式檔案系統 (2) Reiser 檔案系統 利用平衡樹(balanced tree)來發展其目錄與檔案的階層式架構。
將多個小檔案一起放在同一個資料區塊中,以解決內部斷裂問題。 讀取資料時,利用特別的資料結構,快速地計算出某個檔案相對於區塊中紀錄開始的偏移量(offset),再移到該位址來讀取所需要的資料。 00:13 /115

102 日誌式檔案系統 (3) Ext3 檔案系統 Ext2 檔案系統的主要缺點就是不能在檔案系統發生資料不一致時快速地將系統重整,並保持舊有資料的完整性。 Ext3 檔案系統將寫入磁碟的動作記錄起來,當系統發生不一致的情況時,再根據這些紀錄值來還原、或是重做這些檔案資料。 00:13 /115

103 其他檔案系統 網路檔案系統 特殊用途檔案系統 CD-ROM 檔案系統 遠端電腦中的檔案系統經由網路連接到所使用的電腦上。
特殊情況或有特別用途時才會使用,如嵌入式檔案系統。 CD-ROM 檔案系統 一般是用在光碟等各種只允許使用者寫入一次的唯讀式檔案系統上。 00:13 /115

104 第十三章 檔案系統實例 UNIX檔案系統 Linux檔案系統 Windows 檔案系統 摘要 內部佈局 復原 安全 壓縮 00:13
/115

105 Windows 檔案系統 FAT 檔案系統 NTFS 有內部斷裂的問題 最多只能定址 2 GB 的限制 解決 FAT 檔案系統的問題
且加上了許多有用的功能 資料的復原、檔案壓縮、容錯以及檔案系統的多重鏈結串列等。 提供了對 FAT 檔案系統的支援 可以利用轉換程式在兩種檔案系統間進行轉換。 00:13 /115

106 內部佈局 (1) 基本單位是卷(volume) 以磁簇(cluster)作為磁碟配置的基本單位。 磁碟區域可分成兩個主要的部分
主檔案表(master file table, MFT) 12% 其餘則為用來儲存目錄與檔案資料的空間 檔案資料存放區域 MFT記錄 MFT區域 00:13 /115

107 內部佈局 (2) NTFS 檔案系統的檔案名稱紀錄空間 NTFS 檔案系統 以 B+ 樹來實作。 方便表示檔案系統中目錄與檔案階層結構。
節省重新組織樹狀結構時所需要花費的時間與空間。 B+ 樹的最上層相當於是檔案系統的根目錄。 NTFS 檔案系統 最前面的 16 個檔案會被系統所保留 記錄關於整個檔案系統的相關資訊。 00:13 /115

108 復原 磁碟寫入動作記錄在交易(transaction)中 記錄檔案服務(Log File Service, LFS) 處理交易記錄的機制
記錄區(logging area) 重作資訊(redo information) 還原資訊(undo information) 開始區域(start area) 記錄著記錄區的起始位置 00:13 /115

109 安全 NTFS 檔案系統中的每個目錄與檔案都具有存取控制清單(Access Control List, ACL)如 權限上的設定
完全控制(full control) 修改(modify) 執行(execute) 權限上的設定 與一般 Linux 作業系統相同,將檔案與目錄以個人或是群組的方式來設定存取權限 00:13 /115

110 壓縮 (1) NTFS 檔案系統中提供了資料壓縮的功能 將檔案資料區分成以 16 個磁簇為大小的壓縮單位。
應用壓縮演算法來進行資料的壓縮,若所得到的結果小於原來 16 個磁簇的大小,便會將此壓縮結果寫至壓縮檔案中。 使用者需要讀取到這些壓縮起來的資料時,並不需要另外執行解壓縮的動作即可存取其中的資料。 00:13 /115

111 壓縮 (2) 優點 缺點 大小在 4 KB 以下的檔案並不會被進行壓縮 不需做任何額外的動作即可使用比原本的磁碟空間更大的檔案系統。
需花費額外的時間進行計算,會影響到原本系統執行的效率。 大小在 4 KB 以下的檔案並不會被進行壓縮 ? 檔頭接近4 KB 00:13 /115

112 摘要 (1) 常用的檔案系統可概括地分為 3 大部分: UNIX 作業系統中所使用的檔案系統 Linux 系列的作業系統中所支援的檔案系統
Windows 系列中所支援的檔案系統 NTFS 是目前 Windows 所使用的檔案系統中穩定性最好的一種。 00:13 /115

113 摘要 (2) UNIX 與 Linux 作業系統所支援的檔案系統在概念上大同小異,兩個主要結構是 Superblock inode
記錄與整個檔案系統有關的資訊紀錄 inode 記錄檔案系統中的所有檔案以及目錄 00:13 /115

114 摘要 (3) 虛擬檔案系統(VFS)的軟體層 利用了裝置檔案來對應可用的週邊設備
行程與檔案系統溝通的介面。 利用了裝置檔案來對應可用的週邊設備 proc dev 使用者要從裝置讀取資料或是輸出資料至裝置時,就只要按照一般的檔案存取方式即可。 00:13 /115

115 摘要 (4) NTFS 檔案系統 NTFS 檔案系統所採用的檔案名稱記錄空間 第一個部分是主檔案表(MFT) 第二個部分
架構檔案系統的目錄與檔案。 第二個部分 儲存檔案的資料。 將所有磁碟寫入的動作都記錄在交易中 發生錯誤時很快恢復其一致性。 NTFS 檔案系統所採用的檔案名稱記錄空間 以 B+ 樹(B+ Tree)資料結構為基礎。 00:13 /115


Download ppt "作業系統 Operating System 第四單元 檔案系統"

Similar presentations


Ads by Google