资工系网媒所NEWS试验室链结串列.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/36 作業系統 第十二章 檔案系統實作 第十二章 檔案系統實作 檔案系統架構 檔案存取 開啟檔案表 共享檔案 可用空間管理 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 檔案系統架構 檔案系統的目的 為使用者或是作業系統本身提供大量的資料儲存空間。 存取效率上的考量 在主記憶體與磁碟之間的資料傳輸都是以區塊(block) 作為存取的基本單位。 大部分的檔案系統都會將數個區塊集合成一個磁簇(cluster),並以磁簇為單位進行檔案資料的存取。 磁碟主要可分為磁盤與讀寫頭兩大部分 磁盤中的磁軌是用來儲存資料。 讀寫頭是用來在磁盤上讀取或是寫入資料。 檔案存取 開啟檔案表 (1/2) 開啟檔案表 (2/2) 共享檔案 (1/2) 共享檔案 一個檔案可能會被鏈結在兩個以上的目錄。 如圖目錄 D 同時被目錄 A 及 B 所鏈結。 共享檔案 (2/2) 任一個鏈結到此共享檔案的目錄中將此檔案刪除時,不會將此共享檔案真正地從磁碟實體區塊中刪除,而只是將此計數減 1 。 當計數等於 0,才將共享檔案刪除。 第十二章 檔案系統實作 檔案系統架構 可用空間管理 鏈結串列 位元向量 計數 檔案配置方法 檔案目錄實作 檔案系統評估 摘要 可用空間管理 鏈結串列 (1/2) 將所有的可用空間利用指標串連起來。 使用一個開頭指標指向此可用空間鏈結串列的第一個區塊。 鏈結串列 (2/2) 主要缺點 搜尋效率不佳必須循序地讀取才能得到所有可用空間的區塊資訊。 常用解決方法 犧牲第一個區塊的磁碟空間,將其他所有可用空間的實體位置以索引的方式儲存在此區塊中,以加速可用空間的搜尋。 若以磁簇為資料存取單位 可降低額外的紀錄空間(儲存指標)。 可提高存取的速度。 位元向量 每個區塊都是一個獨立的單位,並以一個位元來記錄該區塊是否為可用空間。 若一個磁碟中的第 1、2、4、6、10、11、12、19、23、24、25 個區塊屬於可用空間,其可用空間的位元向量可表示為: 0010101110001111110111000……… 若以磁簇為基本存取單位,則可節省更多額外的紀錄空間。 計數 (1/2) 可用空間表中的主要紀錄只包含了磁碟位置和計數值。 如圖,從第 2 個區塊開始,有連續 6 個可用空間區塊。 計數 (2/2) 可用空間所在的位置過於分散,也就是外部斷裂(external fragmentation)的情形較嚴重時,這種可用空間的記錄方式反而會比較浪費空間。 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 連續式配置 鏈結串列式配置 索引式配置 檔案目錄實作 檔案系統評估 摘要 檔案配置方法 檔案配置時,必須考慮的重點 磁碟空間的有效利用 檔案能否被快速地存取 常用的三種磁碟空間的配置方法 連續式配置 (contiguous allocation) 鏈結串列式配置(linked list allocation) 索引式配置(indexed allocation) 連續式配置 (1/2) 搜尋適合可用空間有下列幾種常用的方法: 最先適合(first fit) 最佳適合(best fit) 最差適合(worst fit) 連續式配置 (2/2) 連續式配置的主要問題 搜尋可用空間的問題 磁碟空間的浪費問題 外部斷裂 內部斷裂 利用鏈結串列式配置可以解決問題 鏈結串列式配置 (1/2) 鏈結串列式配置 (2/2) 優點 不會有外部斷裂問題 建立新檔案時並不需同時就宣告檔案的大小 缺點 檔案只能循序存取 可靠度的問題 若某個檔案的一個指標被破壞,整個檔案就無法再被存取 可利用雙向鏈結串列(double linked list)來解決 索引式配置 (1/2) 索引式配置 (2/2) 適度地控制索引區塊的大小,有下列幾種方法 鏈結索引 多層索引 組合索引 (如圖) 第十二章 檔案系統實作 檔案系統架構 可用空間管理 檔案配置方法 檔案目錄實作 線性串列 雜湊表格 檔案系統評估 摘要 檔案目錄實作 製作目錄結構時,必須考慮到存取效率與空間使用率的問題 較常用的方法 線性串列(linear list) 雜湊表格(hash table) 線性串列 將所有檔案以及子目錄都串連起來。 實作上比較容易,但不是很有效率。 增加檔案的搜尋效率 利用 B 樹或 B+ 樹來實作。 利用多方搜尋(Multi-Way Search)的方式來搜尋檔案 。 雜湊表格 (1/2) 雜湊函數輸入值:檔案名稱 雜湊函數輸出值:某個數值範圍內的固定值 搜尋速度較線性串列快

文档评论(0)

niupai11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档