連續分配方式要求每個檔案在磁碟上占有一道連續的塊。
優點:支援順序訪問和直接訪問(即隨機訪問);連續分配的檔案在順序訪問時速度最快。
缺點:不方便檔案拓展;儲存空間利用率低,會產生磁碟碎片。
鏈結分配採取離散分配的方式,可以為檔案分配離散的磁碟塊。分為隱式鏈結和顯式鏈結兩種。
考試題目中遇到未指明隱式/顯式的鏈結分配,預設指的是隱式鏈結的鏈結分配。
隱式鏈結——除檔案的最後乙個盤塊外,每個盤塊中都存有指向下乙個盤塊的指標。檔案目錄包括檔案第一塊的指標和最後一塊的指標。
優點:很方便檔案拓展,不會有碎片問題,外存利用率高。
缺點:只支援順序訪問,不支援隨機訪問,查詢效率低,指向下乙個盤塊的指標也需要耗費少量的儲存空間。
顯式鏈結——把用於鏈結檔案各物理塊的指標顯式地存放在一張表中,即檔案分配表(fat, file allocation table)。乙個磁碟只會建立一張檔案分配表,開機時檔案分配表放入記憶體,並常駐記憶體。
優點:很方便檔案拓展,不會有碎片問題,外存利用率高,並且支援隨機訪問。相比於隱式鏈結來說,位址轉換時不需要訪問磁碟,因此檔案的訪問效率更高。
缺點:檔案分配表需要占用一定的儲存空間。
索引分配允許檔案離散地分配在個磁碟塊中,系統會為每個檔案建立一張索引表,索引表中記錄了檔案的各個邏輯塊對應的物理塊(索引表的功能類似於記憶體管理中的頁表——建立邏輯頁面到物理頁之間的對映關係)。索引表存放的磁碟塊稱為索引塊,檔案資料存放的磁碟塊稱為資料塊。
若檔案太大,索引表項太多,可以採取以下三種方法解決:
1、鏈結方案:如果索引錶太大,乙個索引塊裝不下,那麼可以將多個索引塊鏈結起來存放。缺點:若檔案很大,索引表很長,就需要將很多個索引塊鏈結起來。想要找到第i號索引塊,必須先依次讀入0~i-1號索引塊,這就導致磁碟i/o次數過多,查詢效率低下。
2、多層索引:建立多層索引(原理類似於多級頁表)。使第一層索引塊指向第二層的索引塊,還可根據檔案大小的要求再建立第三層、第四層索引塊。採用k層索引結構,且頂級索引表未調入記憶體,則訪問乙個資料塊只需要k+1次讀磁碟操作。缺點:即使是小檔案,訪問乙個資料塊依然需要k+1次讀磁碟。
3、混合索引:多種索引分配方式的結合。例如,乙個檔案的頂級索引表中,既包含直接位址索引(直接指向資料塊),又包含一級間接索引(指向單層索引表),還包含兩級間接索引(指向兩層索引表)。優點:對於小檔案來說,訪問乙個資料塊所需的讀磁碟次數更少。
超級重要考點:1)要學會根據多層索引、混合索引的結構,計算出檔案的最大長度(key:各級索引表最大不能超過乙個塊);2)要能自己分析訪問某個資料塊所需要的讀磁碟次數(key:fcb中會存有指向頂級索引塊的指標,因此可以根據fcb讀入頂級索引塊。每次讀入下一級的索引塊都需要一次讀磁碟操作。另外,要注意題目條件——頂級索引塊是否已調入記憶體)。
作業系統 硬碟物理結構
從物理角度來看,通常磁碟就是一塊,當然它是由若干盤面組成的。磁碟可以分割槽,可以分為主分割槽 擴充套件分割槽。主分割槽用於容納作業系統,擴充套件分割槽就是除了主分割槽以外的其餘分割槽,可以繼續分為若干邏輯分割槽,即d,e,f盤。一塊磁碟的物理結構如下 第一部分是mbr 主引導記錄 包括了一段引導程式...
作業系統 檔案索引結構
好久沒更新了,忙著畢業 索引結構指乙個檔案的資訊存放在若干不連續的物理塊中,系統為每個檔案建立乙個專用的資料結構 索引表,並將這些塊的塊號存放在索引表中。優點是保留了鏈結結構的優點,同時解決了其缺點,即能順序訪問,又能隨機訪問,滿足了檔案動態增長,插入刪除的需求,也能充分利用外存空間。缺點是索引表本...
作業系統 檔案目錄結構
能夠實現 按名訪問 最基本功能 能夠提供快速的目錄查詢手段以提高對檔案的檢索速度 能夠實現檔案的共享和重名 檔案控制塊 fcb 是用於描述和控制檔案的資料結構,包括檔案基本資訊,各類使用者擁有的檔案訪問控制資訊,描述檔案被程序使用情況的使用資訊 檔案控制塊與檔案一一對應,其有序集合被稱為目錄 目錄中...