【正文】
count 1 2 tr 14 4 mail 19 6 list 28 4 f 6 2 文件目錄 文件名 物理地址 第四章 存儲器管理 鏈接分配(鏈接文件) ? 文件離散地分配于各盤塊中,以提高外存利用率,文件長度可變,易于增刪。 – 特點(diǎn):只適合于順序訪問,對隨機(jī)訪問效率低,可靠性差。一個邏輯磁盤設(shè)置一張表,以物理盤塊號為序,表項(xiàng)內(nèi)容為指向某文件的下一盤塊的指針。 FAT12: (每個表項(xiàng)占 12bit) 1)每個分區(qū)中都配有兩張文件分配表 FAT1和 FAT2,在 FAT的每個表項(xiàng)中存放下一個盤塊號,而將文件的第一個盤塊號放在自己的 FCB中。在 FAT的每個表項(xiàng)中存放下一個盤塊號。 第四章 存儲器管理 FAT 和 NTFS 技術(shù) FAT16:每個表項(xiàng) 16位 在 FAT16中,每個簇中可以有的盤塊數(shù)可為 13 64 FAT16和 FAT32都不支持長文件名。 FAT32比 FAT16支持更小簇的更大的磁盤容量。 第四章 存儲器管理 FAT 和 NTFS 技術(shù) NTFS NTFS使用 64位磁盤地址;可以很好支持長文件名,單個文件名限制在 255個字符內(nèi),全路徑名最長為 32767字符;具有系統(tǒng)容錯功能,提供數(shù)據(jù)一致性。卷上簇的大小稱為卷因子,為盤塊的 2n倍,最大 64KB 第四章 存儲器管理 鏈接文件性能評價: ; 指出文件的大小 ; 。 第四章 存儲器管理 索引分配 1. 鏈接分配方式雖然解決了連續(xù)分配方式所存在的問題 , 但又出現(xiàn)了另外兩個問題 , (1) 不能支持高效的直接存取 。 (2) FAT需占用較大的內(nèi)存空間。文件較小時浪費(fèi)外存空間(還需為小文件建索引塊) ?( 2)當(dāng)文件較大時,索引塊太多,查找速度減慢 – 解決:當(dāng)索引太大時,則需建立多級索引 第四章 存儲器管理 圖 611 索引分配方式 1 2305 6 7491011813 14 151217 181916212223202526272429 303128c o u n tf i l e 塊 序 號j e e p 19目錄91611025- 1- 1- 119第四章 存儲器管理 ?二、多級索引 – 兩級索引: 當(dāng)文件太大,其索引塊太多時,為這些索引塊再建立一級索引,稱為第一級索引,即系統(tǒng)再分配一個索引塊,作為第一級索引的索引塊,將第一塊、第二塊 …… 等索引塊的盤塊號填入到此索引表中。則 2級索引存放的文件的盤塊號總數(shù)為:256 256=64k,故文件的最大長度為 64M 第四章 存儲器管理 2. 多級索引分配 012……………1 0 51 0 62 5 43 5 63 5 79 8 51 0 51 0 62 5 47 4 03 5 63 5 7…1 1 2 59 8 53 6 07 4 0…1 1 2 5…主索引3 6 0第二級 索引磁盤空 間圖 612 兩級索引分配 第四章 存儲器管理 ?三、混合分配方式( UNIX系統(tǒng)) – 一、二、多級索引合用 – 設(shè)每個塊大小為 4k,一索引項(xiàng)占 4字節(jié),則 – :小文件( 40k)則立即讀出。 第四章 存儲器管理 圖 613 混合索引方式 m o d eo w n e r s ( 2 )t i m e s t a m p s ( 3 )s i z eb l o c k c o u n ti . a d d r ( 0 )i . a d d r ( 1 )d i r e c t b l o c k ss i n g l e i n d i r e c td o u b l e i n d i r e c tt r i p l e i n d i r e c td a t ad a t ad a t ad a t a……d a t ad a t a………d a t ad a t ad a t ad a t a第四章 存儲器管理 (1) 直接地址 。 換言之 , 在這里的每項(xiàng)中所存放的是該文件數(shù)據(jù)的盤塊的盤塊號 。 第四章 存儲器管理 (2) 一次間接地址 。 為此 , 可再利用索引結(jié)點(diǎn)中的地址項(xiàng) iaddr(10)來提供一次間接地址 。圖中的一次間址塊也就是索引塊 , 系統(tǒng)將分配給文件的多個盤塊號記入其中 。 第四章 存儲器管理 (3) 多次間接地址 。 這時 , 用地址項(xiàng) iaddr(11)提供二次間接地址 。 系統(tǒng)此時是在二次間址塊中記入所有一次間址塊的盤號 。 同理 , 地址項(xiàng) iaddr(12)作為三次間接地址 , 其所允許的文件最大長度可達(dá) 4 TB。 適應(yīng)于順序存取且文件不經(jīng)常修改的情況 。 ? 鏈接文件 克服了連續(xù)文件的不足之處 , 但文件的隨機(jī)訪問系統(tǒng)開銷較大 。 ? 索引文件 既適應(yīng)于順序訪問 , 也適應(yīng)于隨機(jī)訪問 , 是一種比較 好的文件物理結(jié)構(gòu) , 但要有用于索引表的空間開銷和文件索引的時間開銷 。 第四章 存儲器管理 文件目錄管理 ? 一個文件的說明信息稱為該文件的 目錄 。 ?功能:實(shí)現(xiàn)文件的按名存取,實(shí)現(xiàn)符號名與具體物理地址之間的轉(zhuǎn)換,文件的共享和保護(hù)。 (2) 提高對目錄的檢索速度。 (4) 允許文件重名。 (1) 基本信息類 : ① 文件名 ; ② 文件物理地址 : 順序文件: 鏈接文件: 索引文件: ③ 文件邏輯結(jié)構(gòu) ; 起始塊號、塊數(shù) 起始塊號 索引表首址 ④ 用戶名: 文件主、核準(zhǔn)用戶、用戶組等 ⑤ 文件長度: ⑥ 文件類型: 第四章 存儲器管理 (2) 存取控制信息類 文件主的權(quán)限;核準(zhǔn)用戶的權(quán)限;一般用戶的權(quán)限。 第四章 存儲器管理 一 .文件控制塊和索引結(jié)點(diǎn) ? 屬性: 舉例: MSDOS的文件控制塊 文件名 擴(kuò)展名 屬性 保留 時間 日期 起始塊號 文件長度 8B 4B 2B 2B 2B 10B 1B 3B 位 b7 b6 b5 b4 b3 b2 b1 b0 含義 保留 保留 歸檔 子目錄 卷標(biāo) 系統(tǒng) 隱藏 只讀 時間:最近修改時間 位 b15 ~ b11 b10 ~ b5 b4 ~ b0 含義 小時 分鐘 秒 ? 日期:最近修改日期 位 b15 ~ b9 b8 ~ b5 b4 ~ b0 含義 相對于 1980年的年份偏移量 月份 日期 第四章 存儲器管理 2. 索引結(jié)點(diǎn)( i節(jié)點(diǎn)) ( 1) 索引結(jié)點(diǎn)的引入 FCB內(nèi)容 = 文件名 + 文件其他描述信息 i節(jié)點(diǎn) 傳統(tǒng) unix目錄項(xiàng): 文件名( 14B) i節(jié)點(diǎn)編號( 2B) 文件名 ( 255B) i節(jié)點(diǎn)編號 ( 4B) 本目錄項(xiàng)長度 文件名長度 Unix S5fs 第四章 存儲器管理 ( 2)磁盤 i結(jié)點(diǎn) ? 文件屬性:文件類型及存取權(quán)限; ? 文件主標(biāo)識符 ;同組用戶標(biāo)識符; ? 文件物理地址 ; ? 文件長度 ; ? 文件創(chuàng)建日期、時間; ? 文件最近訪問日期、時間; ? 文件最近修改日期時間。 第四章 存儲器管理 二 . 目錄結(jié)構(gòu) 1. 單級目錄結(jié)構(gòu) : 整個文件系統(tǒng)只建立一張目錄表。 (3) 不同用戶還可使用不同的文件名來訪問系統(tǒng)中的同一個共享文件 第四章 存儲器管理 3. 多級目錄結(jié)構(gòu) (1) 目錄結(jié)構(gòu) A B C F E D 1 3 A B D 2 G A 4 A C 5 6 7 10 11 J N K 12 J M K 13 A H F 14 15 16 b 17 18 19 20 21 a 8 9 根目錄 第四章 存儲器管理 (2) 路徑名: ? 絕對路徑: 根目錄 /子目錄名 … /文件名 ? 相對路徑: 當(dāng)前目錄 /子目錄名 … /文件名 (3) 當(dāng)前目錄 ?多級目錄的優(yōu)點(diǎn): ? 層次清楚; ? 允許文件重名; ? 進(jìn)一步提高目錄檢索速度; ? 容易實(shí)現(xiàn)共享 第四章 存儲器管理 三 . 目錄查詢技術(shù) 1. 線性檢索法 : /usr/ast/mbox 根目錄 tmp 8 usr 6 etc 9 lib 14 dev 7 bin 4 .. 1 . 1 6 i節(jié)點(diǎn) 132 26 i節(jié)點(diǎn) 496 /usr子目錄 file2 20 bal 45 ast 26 jim 51 erik 30 dick 19 .. 1 . 6 /ast子目錄 ab 78 src 17 mini 81 mbox 60 book 92 grant 64 .. 6 . 26 第四章 存儲器管理 2. Hash方法 對于 Hash索引文件目錄 , 可利用 Hash方法進(jìn)行查詢:系統(tǒng)利用用戶提供的文件名并將它變換為文件目錄的索引值 ,再利用該索引值到目錄中查找 。 Hash方式不支持使用通配符的